因此,我一直在困擾一個特定的問題。如何使用Javascript從XML關鍵字/值的.text中獲取完整值(包括任何其他標記)
我有一個XML文件,其中包含一個鍵值對。
我的基本目標是隻需輸入一個鍵,並使用警告框顯示相應的值。
我的XML文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<name key="amit"><person><b1>Amit</b1></person> </name>
<name key="Peter">Morris </name>
</properties>
我的腳本文件如下:
var xmlDoc;
function getValue(key)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.load("properties.xml");
if(xmlDoc.readyState == 4)
{
for(var i=0;i<xmlDoc.documentElement.childNodes.length;i++)
{
if(xmlDoc.documentElement.childNodes[i].attributes.getNamedItem("key").nodeValue==key)
{
alert(xmlDoc.documentElement.childNodes[i].nodeValue);
return xmlDoc.documentElement.childNodes[i].text;
}
}
}
}
我的HTML文件如下:
<html>
<head>
<script src="script.js"></script>
</head>
<body>
<script>
var value=getValue("amit");
alert(value);
</script>
</body>
</html>
當我跑我的代碼,如果我傳遞的值是'Peter',那麼我的警報框會顯示'Morris'。我期望的。
但是,當我通過值「阿米特」,警示框顯示我只有'阿米特'。它不顯示我
<person><b1>Amit</b1></person>
我需要打印完整的值。
有人可以讓我知道我錯過了什麼,或者我該如何去做這件事?
的.text只是給你任何文本值 - XML元素是結構性的,而不是文字,因此被省略掉 – pete23
@ pete23:我明白了。所以在我的情況下,因爲.text不起作用,我將如何去打印整個字符串? (使用xml元素標籤)。 –