Разбор файла XML для поиска атрибута title - PullRequest
0 голосов
/ 20 сентября 2010

Я наивный программист jQuery, так что кто-нибудь, пожалуйста, помогите мне с этой проблемой.Первый пример показывает, что я делаю и как это работает.Но моя дилемма в том, что список создается путем анализа XML.Если да, то как мне разобрать xml, найти атрибут title и затем загрузить соответствующий URL в Div.Заранее спасибо ...

jQuery code

 $('.treeLinks').click(function() {
    var sourceURL = $(this).attr('title');
    $('#content').load(sourceURL);
    });

Соответствующий HTML-код

<ul>
<li><a href="#" title="contentArea1.html" class="treeLinks">Link 1</a></li>
<li><a href="#" title="contentArea2.html" class="treeLinks">Link 2</a></li>
</ul>

XML-код, который необходимо проанализировать для получения атрибута title

<?xml version="1.0" encoding="UTF-8"?>
<root>
<item id="pxml_1">
  <content><name class="treeLinks"><![CDATA[Root node 1]]></name></content>
 <item id="pxml_2">
 <content><name class="treeLinks"><![CDATA[Child node 1a]]></name>
 <item id="pxml_23">
 <content><name><![CDATA[Child node 1a]]></name></content>
 </item>
 </content>
 </item>
 <item id="pxml_3">
 <content><name><![CDATA[Child node 2b]]></name></content>
 </item>
 <item id="pxml_4">
 <content><name><![CDATA[Child node 3c]]></name></content>
 </item>
</item>
</root>

1 Ответ

0 голосов
/ 20 сентября 2010

Анализируйте ваш XML так же, как и HTML (в этом нет ничего особенного);Это работает в Firefox (не уверен, почему IE не понравилось).Сохраните как файл .html для примера.

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
        //Document Ready: Everything inside this function fires after the page is loaded
        $(document).ready(function () {
            var test = '<?xml version="1.0" encoding="UTF-8"?><root><item id="pxml_1"><content><name class="treeLinks"><![CDATA[Root node 1]]></name></content> <item id="pxml_2"> <content><name class="treeLinks"><![CDATA[Child node 1a]]></name> <item id="pxml_23"> <content><name><![CDATA[Child node 1a]]></name></content> </item> </content> </item> <item id="pxml_3"> <content><name><![CDATA[Child node 2b]]></name></content> </item> <item id="pxml_4"> <content><name><![CDATA[Child node 3c]]></name></content> </item></item></root>';

            //Need to wrap you xml with a root node
            test = "<wrapper>" + test + "</wrapper>";

            $(test).find('.treeLinks').each(function(){
                alert($(this).html());
            });
        });
    </script>
</head>
<body>
</body>
</html>

Остальная часть вашего вопроса не совсем ясна.Я не мог понять, как ваш XML создает ссылки выше.Если можете, уточните взаимосвязь между XML и вашими ссылками.

Надеюсь, это поможет вам начать!

...