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

将本地XML文件值加载到Javascript变量中,javascript,xml,local,hta,Javascript,Xml,Local,Hta,尝试从本地(c:\folder\xmlfile.xml)xml配置文件中读取各种值,并将它们放入HTA中的JavaScript变量中,该HTA也在同一台本地计算机上运行 本地XML文件包含: <?xml version="1.0" encoding="utf-8"?> <Configuration> <Module name="LocalDB"> <Property name="Server" value="localhost\a

尝试从本地(c:\folder\xmlfile.xml)xml配置文件中读取各种值,并将它们放入HTA中的JavaScript变量中,该HTA也在同一台本地计算机上运行

本地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>
我甚至不能完全确定这是否正确,但我还没有找到在加载文件后如何解析值的说明


感谢您抽出时间阅读并提供帮助。

您的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');

这是一篇有趣的文章,它可能会帮助您Mqybe这将有帮助:在IMO中加载本地文件是不可能的。这将是非常不安全的。即使是本地页面也不行。一个方便的支持表:谢谢!你的代码工作得很好。我上面列出的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');