我有从第三方应用程序创建的自定义xml,它是关于电子数据的数据(图表)。现在我想在mxgraph中重写相同的数据。
请找到第三方应用程序的xml样本
<component type="Rerror" mirrored="0" typeid="57" nodematch="0" macrotype="2" position="280,260" orientation="0">
<parameter idx="0" encrypted="0">
data unrelated to drawing here
</parameter>
<image>
<hotzone points="60,-10,-60,10"/>
<shape type="line" width="1" color="#0000ff" points="60,0,40,0"/>
<shape type="line" width="1" color="#0000ff" points="40,0,30,-10"/>
<shape type="line" width="1" color="#0000ff" points="30,-10,10,10"/>
<shape type="line" width="1" color="#0000ff" points="10,10,-10,-10"/>
<shape type="line" width="1" color="#0000ff" points="-10,-10,-30,10"/>
<shape type="line" width="1" color="#0000ff" points="-30,10,-40,0"/>
<shape type="line" width="1" color="#0000ff" points="-40,0,-60,0"/>
<legend text="0.332 MOhm" position="-36,20" orientation="0" fontname="Arial" fontsize="12" bold="0" italic="0" color="#229922"/>
<pin position="-60,0" dir="0" length="0" text="6"/>
<pin position="60,0" dir="0" length="0" text="3"/>
<label text="Rerror" position="250,236" textroot=" " orientation="0" color="#228822"/>
</image>
</component>
上面的xml必须使用mxgraph进行解析和重绘。 哪里
组件:是特定单元的整体图像(可以有很多组件
参数:此部分应为igonred
图片:图片部分包含了必须在图表中绘制的x,y坐标的数据
我正在浏览mxgraph用户指南&amp;我是mxgraph的新手。我能够使用&#34; mxUtils.parseXml(&#39; location&#39;)&#34; 看到xml的正常痘痘
请帮我解析如何解析自定义文件
非常感谢提前。
答案 0 :(得分:0)
parseXML()只会让它更容易在代码中使用(如果需要,可以创建一个DOM文档)但是你必须编写你的&#34;转换器&#34;手动
为您的每个文件创建一个mxCell。为您的各种细胞创建不同的样式,并且您已完成。
如果你所有的shapres都是矩形的,它应该是空气直截了当的!
答案 1 :(得分:0)
将xml转换为java对象。这与JGraph无关。如果.xsd可用,则可以使用JAXB。
从xml获得java对象后,可以使用其中包含的信息来创建边和顶点。在基于JGraph的应用程序中,mxGraph
类包含方法insertVertex
和insertEdge
,它们将您的位置和标签作为参数。例如,您可以遍历从XML解析的java对象,并为每个对象调用graph.insertVertex()
。
如果mxGraph
对象无法直接使用,您可以使用mxGraphComponent.getGraph()
与其对齐。 mxGraphComponent
应该可以从您选择的编辑中获得,即。 editor.getGraphComponent()
。