我对jquery完全不熟悉,我正在四处寻找是否可以做到这一点。 基本上我有一个xml树结构,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<RecentTutorials>
<Tutorial author="The Reddest">
<Title>Silverlight and the Netflix API</Title>
<Categories>
<Category>Tutorials</Category>
<Category>Silverlight 2.0</Category>
<Category>Silverlight</Category>
<Category>C#</Category>
<Category>XAML</Category>
</Categories>
<Date>1/13/2009</Date>
</Tutorial>
<Mockup author="The Hairiest">
<Title>Cake PHP 4 - Saving and Validating Data</Title>
<Categories>
<Category>Tutorials</Category>
<Category>CakePHP</Category>
<Category>PHP</Category>
</Categories>
<Date>1/12/2009</Date>
</Mockup>
</RecentTutorials>
单独使用jquery,我可以选择整个模型节点/树与其余的孩子一起吗?我尝试使用.text()但没有得到任何东西。我的谷歌搜索并没有把我带到任何地方。希望你们不介意这个愚蠢的问题:)
var dom3 = parseXML(str_xml);
var strTemp = $(dom3).find("Mockup");
这样最终输出就是这样。
<Mockup author="The Hairiest">
<Title>Cake PHP 4 - Saving and Validating Data</Title>
<Categories>
<Category>Tutorials</Category>
<Category>CakePHP</Category>
<Category>PHP</Category>
</Categories>
<Date>1/12/2009</Date>
</Mockup>
谢谢!
答案 0 :(得分:1)
你应该工作的,除了你不需要运行parseXML(),只需直接给jquery xml字符串:
var strTemp = $(str_xml).find("Mockup");
我认为没有办法让原始字符串输出,但如果你想要字符串,这里有一个hack:你需要用标签包装生成的dom(任何,只要它不重复“Mockup “):
var xmlString = $('<wrapper>').append(strTemp ).html();//strTemp from above
生成
firebug_prompt> $('<wrapper>').append($('<root><ch>test</ch><ch>test2</ch></root>')).html()
<root><ch>test</ch><ch>test2</ch></root>