XML の属性部分を JavaScript で表示したい (誤動作してます)
初心者です。XML の属性を JS で表示したいのですが属性の表示をJSで記入すると属性部分(?)が「null」と表示されるだけで元の XML の内容が正しく反映されません。何が間違っているのかご教示いただけると有り難いです。宜しくお願いします。
---XML-[orders.xml]------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE orders SYSTEM "orders.dtd">
<orders>
<order>
<customerid limit="1000">1111111</customerid>
<status>発送済み</status>
<item instock="Y" itemid="SA15">
<name>商品名ABC</name>
<price>825.00</price>
<qty>1</qty>
</item>
</order>
</orders>
---/XML-------------------
---DTD--[orders.dtd]-----------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE orders SYSTEM "orders.dtd">
<orders>
<order>
<customerid limit="1000">1111111</customerid>
<status>発送済み</status>
<item instock="Y" itemid="SA15">
<name>商品名ABC</name>
<price>825.00</price>
<qty>1</qty>
</item>
</order>
</orders>
---/DTD-------------------
---html--[hoge.html]-----------------
<?xml version = "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>A Parser Test</title>
<script type="text/javascript">
var tab=" "
function printElement(indent, node) {
var i;
if (node.nodeType == 3) {document.write("<br />" +indent + node.nodeValue);
document.write("<br />" +indent + "attributes: "+ node.attributes);} <!--この1行を足しました。誤動作しています(TT)-->
else {
document.write("<br />" +indent + "[" + node.Name + "]");
for (i = 0; i < node.childNodes.length; i++) {
printElement(indent+tab, node.childNodes[i]);
}
document.write("<br />" +indent + "[/" + node.nodeName + "]");
}
}
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("orders.xml")
if (xmlDoc.parseError.errorCode != 0) {
document.write("<br />Error Code: ");
document.write(xmlDoc.parseError.errorCode);
document.write("<br />Error Reason: ");
document.write(xmlDoc.parseError.reason);
document.write("<br />Error Line: ");
document.write(xmlDoc.parseError.line);
document.write("<br />");
}
else {
document.write("<strong>ファイルはパーサーを通りました</strong><br />");
document.write("<p /><h1>ツリー構造の表示</h1><p />")
printElement("", xmlDoc.documentElement);
}
</script>
</head>
<body>
</body>
</html>
---/html-------------------
お礼
ご回答ありがとうございます。 要するに、「未定義値」と同じ概念という事ですね。 No.1の補足にも書いたのですが、手持ちの書籍などには、そこら辺の所が書かれてなかったので、不安になっていました。 時間があれば、手持ちのXMLパーサーを使って確認したいと思います。