将本地XML文件值加载到Javascript变量中

时间:2011-12-28 21:34:28

标签: javascript xml local hta

尝试从本地(c:\ folder \ xmlfile.xml)XML配置文件中读取各种值,并将它们放入同样在本地计算机上运行的HTA中的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文件后,我需要将各种值(例如“applicationdb”,“standarduser”,“defaultpw”)放入JavaScript变量中。

我一整天都在努力,也许我的google-fu并没有我想象的那么强大,但似乎找不到任何真正的方向。

我已经达到了:

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

我不完全确定即使这是正确的,但是我无法找到有关如何在加载文件后解析值的说明。

感谢您花时间阅读并寻求帮助。

1 个答案:

答案 0 :(得分:0)

您的xmlfile.xml不是有效的xml文件。关闭的配置标记拼写错误,无法加载。解决之后,您应该考虑使用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');