我目前正在使用Jquery,我的整个项目只需要使用sharepoint客户端对象模型(因此我无法使用服务器端编码)。我创建了一个xml结构(通过将一些字符串附加在一起)并将其存储在jquery var变量中。现在我的变量内容看起来像这样
<Collection xmlns="http://schemas.microsoft.com/collection/metadata/2009"
xmlns:ui="http://schemas.microsoft.com/livelabs/pivot/collection/2009"
SchemaVersion="1" Name="listname">
<FacetCategories>
<FacetCategory Name="Title" Type="String" />
<FacetCategory Name="Created By" Type="String" />
<FacetCategory Name="Modified By" Type="String" />
</FacetCategories>
<Items ImgBase="http://460d87.dzc">
<Item Id="0" Img="#0" Name="Name1" Href="http://site/1_.000">
<Facets>
<Facet Name="Title">
<String Value="Name1" />
</Facet>
</Facets>
</Item>
</Items>
</collection>
我想将此变量纯粹基于jquery转换为xml内容。我使用了ParseXml()方法,但我无法在alert()中看到输出。请帮帮我。
答案 0 :(得分:0)
只需使用本机内置XML解析器:
var parser, xml;
if (window.DOMParser) {
parser = new DOMParser();
xml = parser.parseFromString(str, "text/xml");
}
else { // IE
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = "false";
xml.loadXML(str);
}
var nodes = xml.getElementsByTagName('FacetCategory');
var i, l = nodes.length, items = [];
for (i = 0; i < l; i++) {
console.log(nodes[i].getAttribute('Name'));
}
答案 1 :(得分:0)
您的xml无效,您的根元素为Collection
,但结尾标记为collection
,小c
,因此解析器失败