Saving two separate GoViews Diagram in single XML

I am having two goViews as goView1 and goView2. Both views have diagrams with different nodes. For instance, goView1 has diagram with boxnodes and goView2 has diagram with subgraphs.
I want to save both diagrams somehow. Is it possible to save the diagrams in a single XML? If yes, is it possible to read it again and draw diagrams on respective views? How to do it?
I have read about initializing XMLreaderwriter. Surely for both views there should be separate XMLreaderwriter as there are different nodes involved in both the goviews. Currently I can read and write one goView1. I want to do same for both views.
I want to save both diagrams on the goViews and open again as it is from XML. Is there any other way to do it? How can it be done in GoDiagram?

Thanks in advance.

There’s nothing included in GoDiagram to support that, the notion of creating XML is per document.

But nothing would prevent you from getting the XML for both documents, then wrapping it in a little more XML, eg.


(or something like that) and then writing that out as a file. and then reverse the process on a load.

Thank you very much.
While binding subgraph, do I need to create separate prototype element for Ports as well. I have done some binding subgraph. It can write and read subgraphs without ports properly.
Do i need to add something for ports of the subgraphs with ports. Following code for subgraph.

   CutomisedSubgraph sg = new CutomisedSubgraph();
        sg.Port = new CustomisedPort();

bt = new GoXmlBindingTransformer(“SubGraph”, sg);
bt.HandlesNamedPorts = true;
bt.HandlesChildren = true;
bt.HandlesChildAttributes = true;

        bt.HandlesSubGraphCollapsedChildren = true; subgraph is collapsed
        bt.AddBinding("Label", "sg.Label.Text");
        bt.AddBinding("Position", "Position");            
        bt.AddBinding("portloc", "sg.Port.Location");

     GoLink lnk = new GoLink();
        lnk.Style = GoStrokeStyle.Bezier;
        lnk.ToArrow = true;
        lnk.FromArrow = false;
        bt = new GoXmlBindingTransformer("link", lnk);
        bt.AddBinding("from", "FromPort");
        bt.AddBinding("to", "ToPort");

Do I need to add something related to ports and their location on the subgraph? and links in the subgraph?
In user guise there are something like

  sg.Port.FromSpot = GoObject.NoSpot;
        sg.Port.ToSpot = GoObject.NoSpot;

Do I need to include above part as well?

It is not creating link and ports after reading XML. It just create subgraph without ports.
If I copy subgraph and paste it, it copies all ports with it. It means I do not have to add anything in copychildfren method of the subgraph. What could be the problem?

My application can write XML of diagram containing subgraphs. XML contains link information, it means it is writing XML properly. But while reading it just reads subgraph(with labels on it, its child subgraphs i.e. subgraphs inside subgraph) but without ports and links.
Could you please tell me what could be the reason?