c# – XmlException:检测到多个文档元素

我正在以一种非常简单的方式阅读 XML文件

XmlTextReader reader = new XmlTextReader(dataPath);

while(reader.Read()){ 
    switch (reader.Name){
        case "language":
            Debug.Log(reader.ReadString());
            break;
        case "file":
            Debug.Log(reader.ReadString());
            break;
        case "arg":
            Debug.Log(reader.ReadString());
            break;
    }

}

我的xml是这样的:

<?xml version="1.0" encoding="ISO-8859-1"?>
 <config>
       <language>EN-US</language>
       <file>\File\Doc\sample.txt</file>
</config>
 <data>
       <arg>LKR</language>
</dara>

我的第一个问题是:

XmlException: Multiple document element was detected. file:///C:/prj/as/sample.xml Line 7,position 2.
Mono.Xml2.XmlTextReader.ReadStartTag ()
Mono.Xml2.XmlTextReader.ReadContent ()
Mono.Xml2.XmlTextReader.Read ()
System.Xml.XmlTextReader.Read ()
LectorXML.Start () (at as/sampleXML.cs:17)

第二,我的输出是语言和文件,但没有arg.也许因为是一个不同的节点?我怎样才能解决这个问题?

解决方法

您只能在文档的根目录中拥有单个节点元素.你有一个< config>和< data>.将它们包装在一个文档元素中:

<document>
  <config>
    <language>EN-US</language>
    <file>\File\Doc\sample.txt</file>
  </config>
  <data>
    <arg>LKR</arg>
  </data>
</document>

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...