在 c# 中使用 XmlDocument 读取 XML 文件

Read XML file with XmlDocument in c#

我试图读取 XML 文件,但我没有收到只有 space 或制表符或换行符的节点的内容。请告诉我哪里错了。

XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <paragraph>
        <sentence>
            <sequence>
                <word>aaa</word>
                <space> </space>
            </sequence>
            <sequence>
                <word>bbb</word>
                <space>    </space>
            </sequence>
            <sequence>
                <word>ccc</word>
                <space>?!</space>
            </sequence>
        </sentence>
    </paragraph>
</root>

代码:

XmlDocument doc = new XmlDocument();
doc.Load("D:/Licenta/files/struct.xml");
XmlNodeList sentences = doc.DocumentElement.SelectNodes("/root/paragraph");
foreach (XmlNode sentence in sentences) {
    Console.WriteLine(sentence.InnerText);
}
Console.ReadLine();

输出: aaabbbccc?!

XmlDocument 上有一个名为 PreserveWhitespace 的 属性,默认为 false,导致您观察到的行为。在将数据加载到文档之前,您可能需要考虑将其切换为 true