我尝试使用以下代码从扩展名为.config的文件中获取值, 但我无法得到它............
如果我将文件扩展名从.config更改为.xml,则其工作正常(我能够实现预期的结果)
//-----------------------------------------------------
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
var b = xmlDoc.load("books.config");//load a file
document.write("<br>" + xmlDoc.length);
document.write("<br>" + xmlDoc.getElementsByTagName("book").length);
for (j = 0; j < xmlDoc.getElementsByTagName("book").length; j++) {
// x = xml.getElementsByTagName("FeatureToggles")[j].attributes;
x = xmlDoc.getElementsByTagName("book")[j].attributes;
y = x.getNamedItem("category");
document.write("<br>" +"category = "+ x.getNamedItem("category").nodeValue);
document.write("<br>" + x.length);
if (x.getNamedItem("cover")!=null && x.getNamedItem("cover").nodeValue == "paperback") {
document.write("Found");
}
}
//-----------------------------------------------------------------------------
Sample xml/config:
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
答案 0 :(得分:0)
这可能是因为{
"_id" : "NmBYYasdsa",
"objectId" : "asdsd"
"text" : "test",
....
"publishedAt" : ISODate("2015-05-28T15:31:51Z"),
"updatedAt" : ISODate("2015-05-28T15:31:51Z"),
"data" : {
.....
"likeCount" : 0,
"replyCount" : 0
}
}
方法需要XML文件而您的浏览器不知道.config扩展名实际上是XML。如果您从服务器提供此文件,则可以添加正确的标头以告知浏览器.config文件是XML。没有标题,您的浏览器必须尝试解决它(此过程在此处记录:https://msdn.microsoft.com/en-us/library/ms775148%28v=vs.85%29.aspx)。如果此假设正确,则您在问题中设置的变量data
(加载方法的返回值)应为false。
xmlSource:包含指定其位置的URL的字符串 XML文件。
https://msdn.microsoft.com/en-us/library/ms762722%28v=vs.85%29.aspx
要解决此问题,您可以使用正确的标头提供文件(如果这是其他人将使用的应用程序,最好的方法),告诉您的浏览器将.config文件作为XML处理(可能不是一个好主意)或只是使用.xml扩展名,因为这似乎是由浏览器自动映射的。
答案 1 :(得分:0)