Mxgraph 加载xml文件并仅显示顶点
如何在mxGraphModel中加载以下draw.io文件并仅显示顶点而不显示边Mxgraph 加载xml文件并仅显示顶点,mxgraph,Mxgraph,如何在mxGraphModel中加载以下draw.io文件并仅显示顶点而不显示边 <?xml version="1.0" encoding="UTF-8"?> <mxfile host="www.draw.io" modified="2019-09-25T08:10:42.119Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0" etag="rVOYKV4
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="www.draw.io" modified="2019-09-25T08:10:42.119Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0" etag="rVOYKV4DccHE-o70O52h" version="11.3.1" pages="1">
<diagram id="VCf34-Iv6E_k61pAP0pe" name="Page-1">
<mxGraphModel dx="1248" dy="594" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="VXw29pc5vOmcNuhHpu7d-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="VXw29pc5vOmcNuhHpu7d-2" target="VXw29pc5vOmcNuhHpu7d-4">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="VXw29pc5vOmcNuhHpu7d-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="VXw29pc5vOmcNuhHpu7d-2" target="VXw29pc5vOmcNuhHpu7d-6">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
[... some more vertices and edges ...]
</root>
</mxGraphModel>
</diagram>
</mxfile>
提前感谢。好的,因为您已经加载了包含xml的文档对象,所以您可以使用下面的代码仅解析和绘制顶点:
let xml = '<root>...</root>'; //your xml
let doc = mxUtils.parseXml(xml);
let codec = new mxCodec(doc);
codec.decode(doc.documentElement, graph.getModel());
let elt = doc.documentElement.firstChild;
let cells = [];
while (elt != null)
{
let cell = codec.decode(elt);
if(cell != undefined){
if(cell.vertex){
cells.push(cell);
}
}
elt = elt.nextSibling;
}
//add the vertices in the graph
graph.addCells(cells);
在您的示例中,您处理一个字符串。我没有字符串,但有一个xml文件。如何加载xml文件并准备它以使用给定函数处理它
如果必须是字符串:如何加载xml文件并将其转换为字符串?是否尝试加载它?如果是,代码的那部分在哪里?@NickAth谢谢你的回答。是的,我加载了文件并得到了一个xml文档对象doc:var req=mxUtils.loadfilename.xml;var doc=req.getXmlreq;//xml Dokument但我不知道如何继续检查下面的代码:示例代码以TypeError停止:cell为null请查看更新的答案