У меня есть xml-файл, хотя он не в правильном формате. Я просто хочу получить значения, поскольку это моя главная цель. Также файл представляет собой одну строку. Файл выглядит примерно так.XmlReader синтаксический анализ одной строки 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);
}
}
}
, если вы уже знаете структуру строки, возможно, ее исправление (путем добавления корневого узла), а затем разбор его обычно является самым простым способом. – kennyzx
Это недопустимо xml. Действительный xml имеет один корневой узел – Jonesopolis
Я знаю, что это недействительный XML, но это файл, который мне дал, что другая программа выплевывается. По-видимому, это то, что он выплевывает, поэтому мне просто нужно работать с ним. – Ducle91