#c# #xml
#c# #xml
Вопрос:
Вот мой код:
XmlNodeList otherImageId =
document.DocumentElement
.SelectNodes("/OHManager/config/customimage/image/@id");
XmlNodeList otherImage =
document.DocumentElement
.SelectNodes("/OHManager/config/customimage/image");
for (int i = 0; i < 5; i )
{
Console.WriteLine("Image Id" otherImageId[i].InnerText.ToString());
Console.WriteLine("File name" otherImage[i].InnerText.ToString());
}
XML:
<OHManager>
<config type="image">
<customimage no="5">
<image id="1">Sea Wallpaper.jpg</image>
<image id="2">Sea Wallpaper.jpg</image>
<image id="3">Sea Wallpaper.jpg</image>
<image id="4">Sea Wallpaper.jpg</image>
<image id="5">Sea Wallpaper.jpg</image>
</customimage>
</config>
</OHManager>
Вывод:
Image Id1
File name10101010
Image Id2
File name10101010
Image Id3
File name10101010
Image Id4
File name10101010
Image Id5
Обратите внимание на наличие строк File name10101010
. Я не могу понять, как получить правильное имя файла: Sea Wallpaper.jpg
. Это дает мне идентификатор изображения, но не имя файла.
Комментарии:
1. Мой Xml: <OHManager> <тип конфигурации=»изображение»> <номер пользовательского изображения = «5»> <идентификатор изображения =»1″>Sea Wallpaper.jpg </image> <идентификатор изображения=»2″>Sea Wallpaper.jpg </image> <идентификатор изображения=»3″>Sea Wallpaper.jpg </image> <идентификатор изображения=»4″>Sea Wallpaper.jpg </image> <идентификатор изображения=»5″>Sea Wallpaper.jpg </image> </customimage> </OHManager> ЭТО БЫЛА СТРУКТУРА XML. </config>
2. Ваши запросы выглядят нормально. Можете ли вы запустить его снова, чтобы увидеть, является ли это фактическим результатом?
3. привет, Джефф, thnx 4 rply.да, это результат, я все еще получаю его.
4. спасибо Джеффу 4, редактирующему мой code..It раньше был какой-то беспорядок…
Ответ №1:
Вам не нужно выполнять 2 запроса XPath к вашему XML-документу, одного будет достаточно. Этот код должен продемонстрировать, как получить как id
атрибут, так и внутренний текст узла:
XmlNodeList list = document.DocumentElement
.SelectNodes("/OHManager/config/customimage/image");
foreach(XmlElement node in list)
{
Console.WriteLine("Image Id: {0}, FileName: {1}",
node.Attributes["id"].Value,
node.Value);
}
Живой пример:http://rextester.com/rundotnet?code=THABU16531
Комментарии:
1. привет, всем, кто мне помог, спасибо за вашу помощь, проблема была в моем xml, я использую ту же структуру before.so это дает мне неверный вывод. все еще спасибо вам, ребята.