在java端将字符串转化为xml对象可以使用documenthelper.parsetext(xmlreturn).getrootelement();
在js中同样有方法可以将字符串转化为xml对象,可以使用如下函数
以下是引用片段:
复制代码 代码如下:
function createxml(str){
if(document.all){
var xmldom=new activexobject(microsoft.xmldom)
xmldom.loadxml(str)
return xmldom
}
else
return new domparser().parsefromstring(str, text/xml)
}
如果在js端是读取文件,那就更方便了
以下是引用片段:
复制代码 代码如下:
var xmldoc = new activexobject(msxml2.domdocument.3.0);
xmldoc.async = false;
xmldoc.load(文件路径);
至于操作xml也是很简单,如果会使用jdom或是dom4j的话,操作也是相当方便。
以下是引用片段:
复制代码 代码如下:
var domxml= createxml(http.responsetext);
var code=domxml.getelementsbytagname(code);
if(code.item(0).text==100){
var parameter=domxml.getelementsbytagname(parameter);
identifier=parameter.item(0).attributes.getnameditem(value).value;
}
对于节点的值和属性的值获取的方法不同。
下面的方法
复制代码 代码如下:
//字符串转化为xml
function toxmldom(source){
var xmldoc = null;
if (window.activexobject) {
var arr_activex =
[msxml4.domdocument,msxml3.domdocument,msxml2.domdocument,msxml.domdocument,microsoft.xmldom];
var xmldomflag = false;
for (var i = 0;i try {
var objxml = new activexobject(arr_activex[i]);
xmldoc = objxml;
xmldomflag = true;
} catch (e) {
}
}
if (xmldoc) {
xmldoc.async = false;
xmldoc.loadxml(source);
}
}else{
var parser=new domparser();
var xmldoc=parser.parsefromstring(source,text/xml);
}
return xmldoc;
}
复制代码 代码如下:
//使用
function areachart(data){
var s = toxmldom(xml);//xml为字符串
$(s).find(area).each( //得到每一个area标签
function(id,item){
var areacode=$(item).find(area_code).eq(0).text();//获取area标签的内容
var num = $(item).find(area_all_num).eq(0).text();
var name=$(item).find(area_name).eq(0).text();
var title=name+,+num;
$(#+areacode+).attr(title,title);
}
);