通过C#

时间:2018-08-07 08:22:48

标签: c# xml graphml

我正在构建一个小型软件,该软件应该生成graphml文件,以便随后使用yEd进行读取。这是一个使用节点和边构建图形的软件。

典型的“节点”如下所示

<node id="n0">
  <data key="d6">
    <y:ShapeNode>
      <y:Geometry height="80.0" width="90.0" x="0.0" y="0.0"/>
      <y:Fill color2="#993300" hasColor="false" transparent="false"/>
      <y:BorderStyle color="#000000" type="line" width="1.0"/>
      <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="14" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="21.1513671875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="43.6962890625" x="23.15185546875" xml:space="preserve" y="4.0">Boite1</y:NodeLabel>
      <y:Shape type="diamond"/>
    </y:ShapeNode>
  </data>
</node>

我正在尝试通过C#编辑graphml文件。我要这样做的方法是在富文本框中打印行,然后将其保存到具有正确扩展名的文件中。

尽管我似乎无法在打印内容中打印引号,如下所示。 “ WriteLog”方法是我打印到富文本框中的方法。

WriteLog("<?xml version="1.0" encoding="UTF - 8" standalone="no"?>");

也许我不考虑另一种方式?我真的不熟悉xml。

1 个答案:

答案 0 :(得分:0)

因为我确实需要一个接一个地添加节点,所以我必须经过一个富文本框,然后将其另存为.graphml

我只需要转义双引号\

我的行变成

WriteLog("<?xml version=\"1.0\" encoding=\"UTF - 8\" standalone=\"no\"?>");

感谢Panagiotis的帮助!我将尝试研究XDocument来找到比这更“清洁”的方式!