这是 xml:
<_text_column min_width="0" max_width="2031051">
<PF_Para_Base align="center">
<_char data_tag="PricesGoodText" font_size="35270" bold="true" italic="false" font_name="/ITC Franklin Gothic Demi" text_color="White">PricesGoodText</_char>
</PF_Para_Base>
</_text_column>
我正在打开文件并将根附加到文件,因为我收到文件的多根错误
using (var fs = new StreamReader(fullFileName))
using (var xr = XmlReader.Create(fs, settings))
{
while (xr.Read())
{
if (xr.NodeType == XmlNodeType.Element)
{
rootElement.Add(XElement.Load(xr.ReadSubtree()));
}
}
}
var attr = rootElement.Elements("char").Attribute("data_tag");
我需要从节点_char
中获取属性data_tag
。它返回为 null
。
最佳答案
rootElement.Elements("_char").Attributes("data_tag");
是错误的,因为Elements
只读取直接子元素,您应该使用后代
:
rootElement.Descendants("_char").Select(c => c.Attribute("data_tag").Value);
检查这个问题:What is the difference between Linq to XML Descendants and Elements
关于c# - xml节点实际上不是节点,需要获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864403/