获取Java中的XML属性并生成JSON字符串?
我有以下XML代码:获取Java中的XML属性并生成JSON字符串?,java,xml,json,bpmn,Java,Xml,Json,Bpmn,我有以下XML代码: <?xml version="1.0" encoding="UTF-8"?> <bpmn2:definitions> <bpmn2:process> ... <bpmn2:userTask id="UserTask_1" name="User Task 1"> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> <bp
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions>
<bpmn2:process>
...
<bpmn2:userTask id="UserTask_1" name="User Task 1">
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
</bpmn2:userTask>
...
...
...
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_Process_1"bpmnElement="defaultPackage.NewProcess2">
...
<bpmndi:BPMNShape id="BPMNShape_UserTask_1" bpmnElement="UserTask_1">
<dc:Bounds height="50.0" width="110.0" x="165.0" y="205.0"/>
</bpmndi:BPMNShape>
...
...
...
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
...
顺序流_1
序列流2
...
...
...
...
...
...
...
对于在标记中定义的节点,我想获取其坐标,该坐标在下定义
<bpmndi:BPMNShape id="BPMNShape_UserTask_1" bpmnElement="UserTask_1">
<dc:Bounds height="50.0" width="110.0" x="165.0" y="205.0"/>
</bpmndi:BPMNShape>
里面
我编写了以下代码:
ArrayList<String> bpmnElements = getElementAttributes("bpmndi:BPMNShape", "bpmnElement");
for (int j = 0; j < bpmnElements.size(); j++){
String bpmnElement = bpmnElements.get(j);
if(childnodelist.equals("bpmn2:task")){
ArrayList<String> idTask = getIds("bpmn2:task");
for(int l=0; l<idTask.size(); l++){
if(idTask.get(l).equals(bpmnElement)) //becouse the id attribute of bpmn2:userTask is equal to
// bpmnElement attribute of bpmndi:BPMNShape node
{
ArrayList<String> Xs = getElementAttributes ("dc:Bounds" , "x");
jw.key("x").value(Xs.get(j));
}
}
}
}
ArrayList bpmnElements=getElementAttributes(“bpmndi:BPMNShape”、“bpmnElement”);
对于(int j=0;j for(int l=0;l在没有看到完整代码和完整输入的情况下很难说。您是否尝试通过调试器运行代码段?这将帮助您找出没有输出的原因。我现在将尝试。您认为我使用的逻辑正确吗?“您认为我使用的逻辑正确吗?”–从这里也很难判断,因为除了这个小代码片段之外,我仍然不知道发生了什么……有没有办法只获取bpmn2:userTask节点的对应“x”属性?