Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Parsing XML / 4 сообщений из 4, страница 1 из 1
09.11.2006, 13:28
    #34115744
Sobaka WWW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parsing XML
Приветствую всех и прошу прощения за столдь глупый вопрос )

Есть у меня файлик xml со структурой <root><location key="..."><line>
Как мне правильно ( если можно пример с кодом ) достать все данные из Children-ов <location>, причём у тех <location>, у которых key="aw3" ?

Заранее всем спасибо! )
...
Рейтинг: 0 / 0
10.11.2006, 15:49
    #34119960
Olldman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parsing XML
XmlDocument doc = new XmlDocument();
doc.Load(...);
XmlNodeList list = doc.SelectNodes("/root/location[key='aw3']");
...
Рейтинг: 0 / 0
10.11.2006, 15:58
    #34119987
Oxyman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parsing XML
На клиенте или на сервере?

На клиенте:

XML:
<root>
<alerting>
<cdn cdn="6000">db.aspx</cdn>
<cdn cdn="6001">first.aspx</cdn>
<cdn cdn="default">http://osipov/ContactHistory/ContactHistory.aspx</cdn>
</alerting>
</root>

JavaScript:
//code for IE
if (window.ActiveXObject)
{
var doc=new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.load("preferences.xml");
}
else
{
alert("Для работы программы необходимо использовать Microsoft Internet Explorer 6.0 или выше!");
return;
}

// documentElement always represents the root node
var x = doc.documentElement;
// Определяем ссылку на Node - "CDN"
var CDNNode = null;
// Current Node
var NodeX = null;
var CDN = null;

// Обработка вызова по таблице маршрутизации
for(var i = 0; i < x.childNodes.length; i++)
{
NodeX = x.childNodes ;

switch (NodeX.nodeName)
{
case "alerting":

CDNNode = NodeX;

for (var j = 0; j < CDNNode.childNodes.length; j++)
{
NodeX = CDNNode.childNodes[j];

CDN = NodeX.attributes[0];

if (CDN.value == "default")
{
formAction = NodeX.childNodes[0].nodeValue;
break;
} else
{
if ( srvInvisForm.elements["srvCalledNumber"].value == CDN.value)
{
formAction = NodeX.childNodes[0].nodeValue;
break;
}
}
}
break;
}
}
...
Рейтинг: 0 / 0
10.11.2006, 17:54
    #34120399
Olldman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parsing XML
То что я написал выше  - для сервера
Для клиента следущее var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
if (!xmlDoc.loadXML(xmlString))
{
     var sErr = "Response XML String is messed up\n";
}

var nodes = xmlDoc.selectNodes("/root/alerting/cdn[@cdn='6001']");
for(var i = 0; i < nodes.length; i++)
{
//getting nodes' values
//nodes[i].text.....
}


Советую посмотреть в сторону XPath, это как раз то, что вам нужно
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Parsing XML / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]