繁体   English   中英

如何在不使用LINQ-> XML的情况下使用C#和LineNumber从XML文件中获取XMLNode

[英]How to Get XMLNode From an XML File by using C# and the LineNumber without using LINQ->XML

我想知道是否知道我有行号,是否有办法获取xml文档的XmlNode,我使用C#,并且我不想使用Linq(XDocument),我需要从XmlDocument获取XmlNode。 例如,如果我有这个XML:

<Document>
<a key="1">AAA</a>
<a key="2">Aa</a>
<a key="3">aaA></a>
<a key="4">aA></a>
<b key="15">BbbB></b>
</Document>

我期望有一个函数以输入行号4并返回

<a key="3">aaA></a>

所有这些都无需使用LINQ(仅使用XmlDocument和XmlNode语法...而不是XDocument ..)。


更具体地说,我需要balise而不是示例行,如果Xml是这样的:

1. <Document>
2. <a key="1">AAA</a>
3. <a key="2">Aa</a>
4. <a key="3">
5. aaA
6. </a>
7. <a key="4">aA></a>
8. <b key="15">BbbB></b>
9. </Document>

我期望有一个函数将输入行号4或5或6作为输入,它将返回:

<a key="3">aaA</a>

您可以通过读入字符串文本并抓住想要的行来完成此操作。 但这只是一个字符串,而不是XmlNode。

要使用XmlDocument进行此操作,您需要选择根节点,并为该节点所经过的线将该节点的子代-1索引。

        XmlNode root = doc.SelectSingleNode("//Document");
        XmlNode nodeIWant = root.ChildNodes[line - 1];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM