[英]xml-formatted stream output GEPHI-TOOLKIT
我正在使用gephi-toolkit編寫Java函數,該函數應生成gefx格式的圖形數據,作為輸出流而不是文件,以供進一步使用。
如果我使用CharArrayWriter或StringWriter-所有xml標記都被格式化為特殊符號,則我的輸出如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2" xmlns:viz="http://www.gexf.net/1.2draft/viz" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd">
<meta lastmodifieddate="2016-03-24">
<creator>Gephi 0.8.1</creator>
<description></description>
</meta>
<graph defaultedgetype="directed" mode="static">
<nodes>
<node id="1" label="n0">
<attvalues></attvalues>
<viz:size value="10.0"></viz:size>
<viz:position x="-206.8857" y="-18.469671" z="0.0"></viz:position>
<viz:color r="153" g="153" b="153"></viz:color>
</node>
<node id="2" label="n1">
<attvalues></attvalues>
<viz:size value="10.0"></viz:size>
<viz:position x="-29.136229" y="80.29351" z="0.0"></viz:position>
<viz:color r="153" g="153" b="153"></viz:color>
我應該使用什么來在輸出中獲取xml-stream數據?
當前代碼:
//Export
ExportController ec = Lookup.getDefault().lookup(ExportController.class);
ExporterGEXF exp = (ExporterGEXF) ec.getExporter("gexf");
CharArrayWriter writer = new CharArrayWriter();
ec.exportWriter(writer, exp);
return writer;
這個答案很有幫助: 如何將數組字節轉換為org.w3c.dom.Document
感謝哈倫 !
工作代碼是:
StringWriter strwriter = new StringWriter();
ec.exportWriter(strwriter, (CharacterExporter)exp);
String str = strwriter.getBuffer().toString();
byte[] arr = str.getBytes("UTF-8");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
return builder.parse(new ByteArrayInputStream(arr));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.