无法使用Jquery的$ .parseXML解析XML

时间:2018-07-18 10:28:54

标签: jquery xml parsexml

我有一个由BPMN生成的xml。 生成时,它具有以下带有xml标签的代码。

<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:defvar 
    xmlDoc = $.parseXMLinitions 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" 
    xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" 
    xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" 
    xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sample-diagram" 
    targetNamespace="http://bpmn.io/schema/bpmn" 
    xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
    <!-- ......so on-->
</bpmn2:defvar>

因此,当我使用$.parseXML进行解析时,它会在

之类的版本中显示错误
Parse error: syntax error, unexpected `version` (T_STRING) in /opt/lampp/htdocs/abc/1234.php on line 4

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您提供的代码摘录格式错误-jQuery函数调用已发现它进入xml正文的方式。

下面的内容解析没有问题:

xmlDoc = $.parseXML(`<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:defvar
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
    xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
    xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sample-diagram"
    targetNamespace="http://bpmn.io/schema/bpmn"
    xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
    <!-- ......so on-->
</bpmn2:defvar>`);

错误消息表明您可能与php生成嵌入页面有关,特别是在short_open_tag中设置了php.ini-请参见this SO answer