0
我想使用JavaScript解析瀏覽器內置解析器的XML字符串。我的XML字符串看起來是這樣的:XML解析錯誤:使用瀏覽器內置的解析器解析XML字符串時格式不正確
<?xml version='1.0' encoding='UTF-8' ?>
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://www.w3.org/2001/XMLSchema XMLSchema.xsd'
elementFormDefault='qualified'
version='1.0'>
<xsd:element name='probeMetadata' type='OASIS.System.Processor.LinuxProcessorProbe' />
<xsd:complexType name='OASIS.System.Processor.LinuxProcessorProbe'>
<xsd:complexContent>
<xsd:extension base='OASIS.System.Processor.ProcessorProbe'>
<xsd:sequence>
<xsd:element name='nice_time' type='xsd:unsignedLong' />
<xsd:element name='iowait_time' type='xsd:unsignedLong' />
<xsd:element name='irq_time' type='xsd:unsignedLong' />
<xsd:element name='soft_irq_time' type='xsd:unsignedLong' />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name='OASIS.System.Processor.ProcessorProbe'>
<xsd:sequence>
<xsd:element name='idle_time' type='xsd:unsignedLong' />
<xsd:element name='system_time' type='xsd:unsignedLong' />
<xsd:element name='user_time' type='xsd:unsignedLong' />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
我寫了一個簡單的JavaScript代碼只是爲了檢查解析器是否被正確解析我的XML並將其轉換成有效的XML DOM。 JavaScript代碼如下所示:
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
x = xmlDoc.documentElement.childNodes;
document.getElementById("Text1").value = x[3].nodeName;
此處的「文本」位於XML上方。這個代碼意味着什麼。起初我只想測試一些簡單的東西。我在w3school.com測試了XML的有效性,它沒有給我錯誤,所以我想在XML中沒有錯誤。
您使用的瀏覽器是?你如何加載XML?什麼是你得到確切的錯誤信息? – 2012-06-05 02:28:34
爲什麼不使用[W3C驗證服務](http://validator.w3.org/)?使用由編寫該標準的組織支持的服務是有意義的。 – RobG
我使用的是Chrome 19. parseFromString會爲您加載XML。我收到以下消息:「XML分析錯誤:格式不正確的位置:http:// localhost:49669/XSD_Parsing.aspx行號1,列96:」 –