读书人

怎么读取xml的值

发布时间: 2013-03-06 16:20:31 作者: rapoo

如何读取xml的值

XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<parent>
<title>wwwwww</title>
<author>admin</author>
<contentall>
<vc1>1</vc1>
<vc2>2</vc2>
</contentall>
</parent>

使用js,我如何读取contentall标签里面的vc1,vc2的值了? xml encoding js
[解决办法]
function impFlow(){
var form = new Ext.form.FormPanel({
baseCls : 'x-plain',
labelWidth : 70,
fileUpload : true,
defaultType : 'textfield',
items : [{
xtype : 'textfield',
fieldLabel : '流程文件名',
name : 'xmlFile',
id : 'xmlFile',
inputType : 'file',
blankText : '文件不能为空。',
anchor : '100%'
}]
});

var win = new Ext.Window({
title : '请选择xml文件',
width : 400,
height : 110,
minWidth : 300,
minHeight : 100,
layout : 'fit',
plain : true,
bodyStyle : 'padding:5px;',
buttonAlign : 'center',
items : form,
buttons : [{
text : '打开',
handler : function() {
if (form.form.isValid()) {
if(Ext.getCmp('xmlFile').getValue() == ''){
Ext.Msg.alert('错误','请选择你要读取的文件');
return;
}
xmlPath = getPath(document.getElementById('xmlFile'));
var arr = xmlPath.split('.');
if(arr[arr.length-1] == 'xml'){
testProcess = loadXML(xmlPath);
XmlToProcess(testProcess);
win.close();
}else{
Ext.Msg.alert('错误','您选择的文件不是xml文件');
}
}
}
}, {
text : '关闭',
handler : function() {
win.close();
}
}]


});
win.show();
}

//获取文件的绝对路径
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select();
obj.blur();
return document.selection.createRange().text;
}
else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}

//加载XML文件里面的内容
function loadXML(path) {
var xmlDoc;
if (window.ActiveXObject) {
xmlDoc=new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async=true;
xmlDoc.load(path);
return xmlDoc.xml;
}
}

上面用的是EXTJS做的界面改成你自己的就行了,下面的两个方法不是EXTJS的
[解决办法]


$(function() {
$.ajax({
type:'GET',
url:'data.xml',
dataType:'xml',
success:function(data){
var _items = data.getElementsByTagName('contentall');
for(var i = 0 ; i < _items.length ; ++i){
for(var j = 0 ; j < _items[i].childNodes.length ; ++j){
if(_items[i].childNodes[j].nodeType==1){
if(window.ActiveXObject){
alert(_items[i].childNodes[j].nodeName + ' ' + _items[i].childNodes[j].text);
}else{
alert(_items[i].childNodes[j].nodeName + ' ' + _items[i].childNodes[j].textContent);
}
}
}


}
}
});
});


[解决办法]
$.ajax(
{
url: "XMLFile1.xml",
dataType: "xml",
error: function (xml) {
alert('Error loading XML document' + xml);
},
success: function (xml) {
var frag = $("<ul/>");
//遍历所有contentall节点
$(xml).find("contentall").each(function (i) {
//获取VC1节点
var VC1 = $(this).children("VC1").text();
///获取VC1节点
var VC2 = $(this).children("VC2").text();
});
//最后得到的frag添加进HTML文档中
$('#Div1').html(frag);
}
});

读书人网 >JavaScript

热点推荐