XmlReader正在分析单行xml

本文关键字:单行 xml XmlReader | 更新日期: 2023-09-27 18:27:53

我有一个xml文件,尽管它的格式不正确。我只想检索这些值,因为这是我的主要目标。文件也是一行。文件看起来像这样。

<Real64List>...numbers value....</Real64List> <Real64List>...numbers value...</Real64List><Uint32List>...numbers value..</Uint32List>.

我能够首先解析的第一部分,但当我试图解析第二部分和第三部分时,我得到了一个错误"第1行有多个根"。那么我该如何解析Real64List和Uint32List的第二部分呢。提前感谢!

这是我正在使用的代码片段。

using (XmlReader reader = XmlReader.Create("generator_0000001.xml"))
{
   List<float> vertex = new List<float>();
   List<Vector3> verticesList = new List<Vector3>();
   while (!reader.EOF)
   { 
     if (reader.NodeType == XmlNodeType.Element && reader.Name == "Real64List")
     {
       string xmlValue = reader.Value;
       string[] coordinates = xmlValue.Split(',');
       for (int i = 0; i < coordinates.Length; i++)
       {
         vertex.Add(float.Parse(coordinates[i]));
       }
       for (int i = 0; i < vertex.Count; i += 3)
       {
         var myVect = new Vector3(vertex[i], vertex[i + 1], vertex[i + 2]);
         verticesList.Add(myVect);
       }
    }
}

XmlReader正在分析单行xml

您可以将这些XmlElement插入到新的XML节点中。然后,您应该能够将其解析为有效的XML。一些简单的例子可以在MSDN 上找到