【问题标题】:How to deal with non-fixed xelement?如何处理不固定的xelement?
【发布时间】:2014-06-04 17:20:58
【问题描述】:

我使用一种方法将 xdocument 解析为对象,但我在这行代码中遇到了一种情况:

 var xElementTax = xElementXml.Element(xn + "tax");
 var aux = xElementTax.Element(xn + "taxNN").Value;

taxNN XName中,NN部分是一个随机数,即:tax01, tax02, tax03继续。可以是任意两位数。

如果我没有固定标签,我该如何处理?标签唯一固定的部分是 tax 字。

谢谢。

【问题讨论】:

  • 周围的 XML 是什么样的?
  • xElementTax 是单数,你期望有多少个 taxNN 标签?
  • @HenkHolterman 只是一个

标签: c# .net xml linq-to-xml


【解决方案1】:

你是在循环遍历 xElementTax 的所有元素吗?

如果是这样,您可以这样做:

foreach(XElement auxElement in xElementTax.Elements)
{
    var aux = auxElement.Value;
    // And so on
}

如果您只想要匹配“taxNN”的那些,您可以改为:

foreach(XElement auxElement in xElementTax.Elements.Where(x => x.Name.ToString().StartsWith(xn + "tax"))
{
    var aux = auxElement.Value;
    ...
}

如果只有其中一个,你可以选择:

XElement auxElement = xElementTax.Elements.Where(
    x => x.Name.ToString().StartsWith(xn + "tax").FirstOrDefault();
var aux = auxElement.Value;

【讨论】:

  • 我认为你的意思是 xElementXml。
  • 自从我看到它之后好像已经被编辑过了。让我修。感谢您的提醒!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 2019-07-20
相关资源
最近更新 更多