【问题标题】:select all xml child nodes that start with a string选择所有以字符串开头的 xml 子节点
【发布时间】:2014-07-30 07:40:49
【问题描述】:

我正在使用 C#。

我有一个带有子节点的 xml 节点,如下所示:

<PriceID>32</PriceID>
<Store_1> 344</Store_1>
      <Store_32> 343 </Store_32>

我想选择所有以Store

开头的节点

有什么办法可以做到吗?

我知道有一种方法可以选择具有特定名称的节点..

  XmlNodeList xnList = quote.SelectNodes("Store_1");

有人知道什么可以帮助我吗?

【问题讨论】:

    标签: c# .net xml visual-studio-2010 xmldocument


    【解决方案1】:

    你可以使用 Linq2Xml

    var xDoc = XDocument.Parse(xmlstring);
    var stores = xDoc.Descendants()
                .Where(d => d.Name.LocalName.StartsWith("Store"))
                .ToList();
    

    【讨论】:

    • +1 谢谢 L.B !你有使用 xpath & c# 的解决方案吗?我们现在根本不使用 linq.. & 只为此使用 linq 可能很奇怪。
    • @PowerCoder 那种在元素名称上带有编号后缀的 XML 肯定是 XML 设计非常糟糕的标志。如果可以,请更改它。
    • @WilliamWalseth :这只是帮助人们理解我的问题的一个简单示例,这不是我拥有的 xml。希望反对票不是针对 xml 的结构。
    • 不用担心,我不会投反对票。我现在正在与一群新的 XML 开发人员处理类似的问题,他们认为让每个节点都有一个唯一的名称(通过添加 _xxx 数字后缀)是“适当的”。由于您遇到的原因,它确实使使用文档变得困难。
    猜你喜欢
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-24
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多