xml исходит из URL-адреса, и все, что мне нужно, это вытащить из него строку «N0014E1». Я не уверен, почему этот код не работает. Я поставил попробовать блок вокруг него, и я получаю "Корневой уровень данных недействителен"Вытягивание строки из xml
XML:
<obj is="c2g:Network " xsi:schemaLocation="http://obix.org/ns/schema/1.0/obi/xsd" href="http://192.168.2.230/obix/config/">
<ref name="N0014E1" is="c2g:LOCAL c2g:Node"xsi:schemaLocation="http://obix.org/ns/sc/1.0/obix/xsd" href="N0014E1/"></ref>
</obj>
C# код:
public static string NodePath = "http://" + MainClass.IpAddress + ObixPath;
public static void XMLData()
{
XmlDocument NodeValue = new XmlDocument();
NodeValue.LoadXml(NodePath);
var nodes = NodeValue.SelectNodes(NodePath);
foreach (XmlNode Node in nodes)
{
HttpContext.Current.Response.Write(Node.SelectSingleNode("//ref name").Value);
Console.WriteLine(Node.Value);
}
//Console.WriteLine(Node);
Console.ReadLine();
}
Похоже, что между 'obj' и' is' должно существовать пробелы? – zimdanen
Это все XML? Если это так, это недопустимый XML, поэтому вы получаете ошибку. Начальный тег - objis, а закрывающий тег - obj - должен совпадать стартовый и закрывающий теги. – Tim
есть пробел между obj и есть, он просто не копировал, извините. и да, это вся xml-страница. – kevintdiy