2011-12-28 18 views
0

ローカルの(c:\ folder \ xmlfile.xml)XML設定ファイルからさまざまな値を読み込み、同じローカルマシン上で実行されているHTA内のJavaScript変数に配置しようとします。ローカルXMLファイルの値をJavaScriptの変数にロードする

ローカルXMLファイルが含まれています

<?xml version="1.0" encoding="utf-8"?> 
<Configuration> 
    <Module name="LocalDB"> 
     <Property name="Server" value="localhost\application" /> 
     <Property name="Database" value="applicationdb" /> 
     <Property name="UID" value="standarduser" /> 
     <Property name="Password" value="defaultpw" /> 
    </Module> 
</configure> 

私はXMLファイルを開いて読んだ後、JavaScriptの変数には、そのような「applicationdb」、「StandardUserの」、「defaultpw」など、さまざまな値を配置する必要があります。

私は一日中努力してきましたが、おそらく私のgoogle-fuは思ったほど強力ではありませんが、実際の方向性を見つけることはできません。私は限り得ている

xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async = false; 
while(xmlDOC.readyState !=4) {}; 
xmlDOC=loadXMLDoc("xmlfile.xml"); 

私は全くわからないでもそれは正しいですが、私は、ファイルがあるいったん値を解析する方法についての指示を見つけることができませんでしたロードされる。

読んでいただきありがとうございます。ありがとうございます。

+0

これはましょうhttp://www.hiteshagrawal.com/javascript/javascript-parsing-xml-in-javascript – kosa

+0

Mqybe役立つ可能性興味深い記事です:http://www.w3schools.com /xml/xml_parser.asp – Kristian

+0

ローカルファイルを読み込むことはできません。非常に安全ではないでしょうか。ローカルページではありません。便利なサポートテーブル:http://www.steveborn.com/codenotes/LoadingXML.htm – Rudie

答えて

0

xmlfile.xmlは有効なxmlファイルではありません。閉じているConfigurationタグのスペルが間違っていて、読み込めません。これを修正したら、XPathクエリを使用してXMLを検索することを検討する必要があります。ここで

var xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); 
xmlDoc.load('xmlfile.xml'); // TODO: validate true 
var xmlElem = xmlDoc.documentElement; // TODO: validate not null 
var xmlServer = xmlElem.selectSingleNode('//Property[@name=\'Server\']'); 
var strServer = xmlServer.getAttribute('value'); 
+0

ありがとう!あなたのコードは完全に機能します。上記のXMLファイルはコピー/ペーストではないため、実際のファイルには有効な終了タグが含まれています。私は別の方法を使っていましたが、コードをはるかにきれいにすることができましたので、これに切り替えることができます。 – szdmgdev

関連する問題