【发布时间】:2012-09-18 21:15:53
【问题描述】:
我有一个用于处理的 XML 节点。以下是我的 xml 节点。
<w:p>
<w:r>
<w:t>
Text1
</w:t>
</w:r>
<w:r>
<w:pict>
<w:p>
<w:r>
<w:t>
text2
</w:t>
</w:r>
</w:p>
</w:pict>
</w:r>
<w:r>
<w:t>
Text3
</w:t>
</w:r>
<w:r>
</w:p>
现在我只想从<w:p><w:r><w:t> 获取内部文本,而不是从<w:p><w:r><w:pict><w:p><w:r><w:t>。
所以,我需要的输出是Text1Text3
我的 C# 代码是:
XmlNodeList pNode = xDoc.GetElementsByTagName("w:p");
for (int i = 0; i < pNode.Count; i++)
{
if(i==0) //This is my criteria
{
XmlNode firstNode = pNode[i];
string innerText=firstNode.innerText.toString().Trim();
}
}
但它会返回所有内部文本,例如Text1Text2Text3
请指导我摆脱这个问题?
【问题讨论】:
-
使用 Linq TO XML 或 XPath 表达式。
标签: c# linq c#-4.0 xml-parsing linq-to-xml