This example illustrates the use of the parseFromString and the loadXML methods:

<head>
<script type="text/javascript">
function CreateMSXMLDocumentObject () {
if (typeof (ActiveXObject) != "undefined") {
var progIDs = [
"Msxml2.DOMDocument.6.0",
"Msxml2.DOMDocument.5.0",
"Msxml2.DOMDocument.4.0",
"Msxml2.DOMDocument.3.0",
"MSXML2.DOMDocument",
"MSXML.DOMDocument"
];
for (var i = 0; i < progIDs.length; i++) {
try {
return new ActiveXObject(progIDs[i]);
} catch(e) {};
}
}
return null;
}

function BuildXMLFromString (text) {
var message = "";
if (window.DOMParser) { // all browsers, except IE before version 9
var parser = new DOMParser();
try {
xmlDoc = parser.parseFromString (text, "text/xml");
} catch (e) {
// if text is not well-formed,
// it raises an exception in IE from version 9
alert ("XML parsing error.");
return false;
};
}
else { // Internet Explorer before version 9
xmlDoc = CreateMSXMLDocumentObject ();
if (!xmlDoc) {
alert ("Cannot create XMLDocument object");
return false;
}

xmlDoc.loadXML (text);
}

var errorMsg = null;
if (xmlDoc.parseError && xmlDoc.parseError.errorCode != 0) {
errorMsg = "XML Parsing Error: " + xmlDoc.parseError.reason
+ " at line " + xmlDoc.parseError.line
+ " at position " + xmlDoc.parseError.linepos;
}
else {
if (xmlDoc.documentElement) {
if (xmlDoc.documentElement.nodeName == "parsererror") {
errorMsg = xmlDoc.documentElement.childNodes[0].nodeValue;
}
}
else {
errorMsg = "XML Parsing Error!";
}
}

if (errorMsg) {
alert (errorMsg);
return false;
}

alert ("Parsing was successful!");
return true;
}

function TestContent1 () {
var xmlText = "<root><fruit color='red'></root>";
BuildXMLFromString (xmlText);
}
function TestContent2 () {
var xmlText = "<root><fruit color='red'></fruit></root>";
BuildXMLFromString (xmlText);
}
</script>
</head>
<body>
<span><root><fruit color='red'></root></span><br />
<button οnclick="TestContent1 ()">Build XML</button>
<br /><br />
<span><root><fruit color='red'></fruit></root></span><br />
<button οnclick="TestContent2 ()">Build XML</button>

<div id="info"></div>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值