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);
}
}
}
您可以将这些XmlElement插入到新的XML节点中。然后,您应该能够将其解析为有效的XML。一些简单的例子可以在MSDN 上找到