我有一个xml文件
<first>
first1
<second>second1</second>
first2
<third>third1</third>
first3
</first>
我想阅读<first>
的自我文字和<third>
的儿童文字,但孩子<second>
除外
first1 first2 third1 first3
我试过了:
.select(descendant::first1[not(descendant::second)]
但它不起作用。需要建议
答案 0 :(得分:1)
XElement elem = XElement.Parse(xml);
var query = (from e1 in elem.Nodes()
where e1.GetType() == typeof(XText)
select (e1 as XText).Value.Trim())
.Union(from e2 in elem.Descendants()
where e2.Name.LocalName.Equals("third")
select e2.Value);
答案 1 :(得分:-2)
尝试在XMLDocument中获取XML并使用它。
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
var nodes = doc.DocumentElement.ChildNodes;
StringBuilder result = new StringBuilder();
foreach (XmlNode node in nodes)
{
if (!node.Name.Equals("second"))
{
result.Append(node.InnerText);
result.Append(" ");
}
}
希望它能解决你的问题。