<html>
<script>
/*
loadXML = function(xmlFile)
{
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(xmlFile);
}
else
{
return null;
}
return xmlDoc;
}
// 首先对xml对象进行判断
checkXMLDocObj = function(xmlFile)
{
var xmlDoc = loadXML(xmlFile);
if(xmlDoc==null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
return null;
}
return xmlDoc;
}
// 然后开始获取需要的Login/Weapon/W的第一个节点的属性值
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var v = xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')
initializeSelect = function(oid, xPath)
{
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var n;
var l;
var e = $(oid);
if(e!=null)
{
n = xmlDoc.getElementsByTagName(xPath)[0].childNodes;
l = n.length;
for(var i=0; i<l; i++)
{
var option = document.createElement('option');
option.value = n[i].getAttribute('Value');
option.innerHTML = n[i].getAttribute('Text');
e.appendChild(option);
}
}
}
*/
function loadXML(strXML)
{
var xmlstr = strXML;
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
// xmlDoc.load(xmlFile);
xmlDoc.loadXML(xmlstr);
}
else if (document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
// xmlDoc.load(xmlFile);
xmlDoc.loadXML(xmlstr);
}
else
{
return null;
}
return xmlDoc;
}
function checkXMLDocObj(strXML)
{
var xmlDoc = loadXML(strXML);
if(xmlDoc==null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
return null;
}
return xmlDoc;
}
function ShowXML()
{
var xmlstr = document.getElementById("InputXML").value;
Show(xmlstr);
}
function Show(xmlstr)
{
var xmlDoc = checkXMLDocObj(xmlstr);
var nodeList = xmlDoc.selectNodes("//Login");
var showStr = "";
for (var pos=0; pos<nodeList.length; pos++)
{
var node = nodeList[pos];
for (var index=0; index<node.childNodes.length; index++)
{
var childNode = node.childNodes[index];
for (var n=0; n<childNode.childNodes.length; n++)
{
showStr += childNode.childNodes[n].getAttribute("Text") + "," + childNode.childNodes[n].getAttribute("Value") + "/n";
}
showStr += "---------------------------------/n";
}
}
document.getElementById("OutXML").value = showStr;
}
function AddNode()
{
var xmlstr = document.getElementById("InputXML").value;
var xmlDoc = checkXMLDocObj(xmlstr);
var root = xmlDoc.selectSingleNode("/Login");
var newNode = xmlDoc.createNode(1, "record", "");
root.appendChild(newNode);
var newElem = xmlDoc.createElement("C");
newNode.appendChild(newElem);
newElem.setAttribute("Text", "11111");
newElem.setAttribute("Value", "aaaaa");
alert(newNode.xml);
Show(root.xml);
// childNode.lastChild.text = "aaaaaa";
/*
var newElem = xmlDoc.createElement("col0");
newNode.appendChild(newElem);
newNode.lastChild.text = sCol;
var newElem = xmlDoc.createElement("row1");
newNode.appendChild(newElem);
newNode.lastChild.text = eRow;
var newElem = xmlDoc.createElement("col1");
newNode.appendChild(newElem);
newNode.lastChild.text = eCol;
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
var root;
var newNode;
xmlDoc.async = false;
xmlDoc.load("books.xml");
root = xmlDoc.documentElement;
alert(root.xml);
newNode = xmlDoc.createNode(1, "VIDEOS", "");
root.appendChild(newNode);
alert(root.xml);
删除节点:
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
var root;
var currNode;
var oldChild;
xmlDoc.async = false;
xmlDoc.load("books.xml");
root = xmlDoc.documentElement;
currNode = root.childNodes.item(1);
oldChild = currNode.removeChild(currNode.childNodes.item(1));
alert(oldChild.text);
*/
}
function UpdateNode()
{
var xmlstr = document.getElementById("InputXML").value;
var xmlDoc = checkXMLDocObj(xmlstr);
var node = xmlDoc.selectSingleNode("/Login/Character/C[@Value='0']");
node.setAttribute("Text", "11111");
node.setAttribute("Value", "aaaaa");
Show(xmlDoc.xml);
}
function DeleteNode()
{
var xmlstr = document.getElementById("InputXML").value;
var xmlDoc = checkXMLDocObj(xmlstr);
var node = xmlDoc.selectSingleNode("/Login/Character/C[@Value='0']");
node.parentNode.removeChild(node);
Show(xmlDoc.xml);
}
</script>
<textarea style="width: 500px; height: 500px" id="InputXML">
<Login>
<Character>
<C Text="热血" Value="0"></C>
<C Text="弱气" Value="1"></C>
<C Text="激情" Value="2"></C>
<C Text="冷静" Value="3"></C>
<C Text="冷酷" Value="4"></C>
</Character>
<Weapon>
<W Text="光束剑" Value="0"></W>
<W Text="光束配刀" Value="1"></W>
</Weapon>
<EconomyProperty>
<P Text="平均型" Value="0"></P>
<P Text="重视攻击" Value="1"></P>
<P Text="重视敏捷" Value="2"></P>
<P Text="重视防御" Value="3"></P>
<P Text="重视命中" Value="4"></P>
</EconomyProperty>
</Login>
</textarea>
<textarea style="width: 500px; height: 500px" id="OutXML">
</textarea>
<br>
<input type="button" value="读取文档" onclick="ShowXML()">
<input type="button" value="增加节点" onclick="AddNode()">
<input type="button" value="修改节点" onclick="UpdateNode()">
<input type="button" value="删除节点" onclick="DeleteNode()">
</html>