単純な問題であるべきことについて、ここで私の知恵の終わりに近づいています。JavaScript を使用して、非常に単純な XML ドキュメントから非常に単純な HTML ドキュメントに値を解析して返すことを試みています。私の問題は、スクリプトがこれを拒否することです。XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<man>
<name>Nicholas</name>
</man>
<man>
<name>Peter</name>
</man>
</root>
これは厳密に私自身の教育のためであるため、無意味なタグです。
JavaScript:
<script>
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","dname",false);
xmlhttp.send();
return xmlhttp.responseXML;
}
xmlDoc = loadXMLDoc("https://dl.dropboxusercontent.com/u/22818342/Testing/javascript_test4.xml");
x = xmldoc.getElementsByTagName("name");
var content = function()
{
document.write(x[0].childNodes[0].nodeValue);
};
</script>
コードの HTTP フェッチ部分を有効にするために、Dropbox パブリック フォルダーを使用していることに注意してください。これらのファイルはすべて同じディレクトリにあります。
(関連する) HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="https://dl.dropboxusercontent.com/u/22818342/Testing/javascript_test3.css" rel="stylesheet" type="text/css" />
<body>
<button type="button" onclick="content()">Click Me</button>
<body>
また、ボタンをクリックすると、表向きはcontent()
関数が起動されますが、何も起こらないことに注意してください。すべてが上書きされているわけではありません。
その他の関連情報: --Google Chrome でこれをテストしています --W3Schools の XML 解析デモと、私と同様の問題を抱えているユーザーからの別の StackOverflow 投稿から、このコードの多く (これも学習目的のみ) を取り上げました。 . どちらの場合も、コードは正常に実行されました。物事がうまくいかないのは、私がそれを実行しようとしたときだけです。-- 私は Javascript と XML DOM にかなり慣れていないので、どこかで基本的なエラーを犯した可能性は十分にあります。
コミュニティが提供できる支援をいただければ幸いです。