public void LoadFromXml(IXPathNavigable doc, IProjectContent pc) { if (pc == null) { return; } if (doc == null) { return; } ClearCanvas(); XPathNavigator nav = doc.CreateNavigator(); XPathNodeIterator ni = nav.Select(@"/ClassDiagram/Class | /ClassDiagram/Struct | /ClassDiagram/Enum | /ClassDiagram/Interface | /ClassDiagram/Delegate"); while (ni.MoveNext()) { string typeName = ni.Current.GetAttribute("Name", ""); IClass ct = pc.GetClass(typeName, 0); ClassCanvasItem canvasitem = ClassCanvas.CreateItemFromType(ct); if (canvasitem != null) { canvasitem.LoadFromXml(ni.Current); AddCanvasItem(canvasitem); } } ni = nav.Select(@"/ClassDiagram/Comment"); while (ni.MoveNext()) { NoteCanvasItem note = new NoteCanvasItem(); note.LoadFromXml(ni.Current); AddCanvasItem(note); } }
public void LoadFromXml (IXPathNavigable doc, IProjectContent pc) { if (pc == null) return; if (doc == null) return; ClearCanvas(); XPathNavigator nav = doc.CreateNavigator(); XPathNodeIterator ni = nav.Select(@"/ClassDiagram/Class | /ClassDiagram/Struct | /ClassDiagram/Enum | /ClassDiagram/Interface | /ClassDiagram/Delegate"); while (ni.MoveNext()) { string typeName = ni.Current.GetAttribute("Name", ""); IClass ct = pc.GetClass(typeName, 0); ClassCanvasItem canvasitem = ClassCanvas.CreateItemFromType(ct); if (canvasitem != null) { canvasitem.LoadFromXml (ni.Current); AddCanvasItem(canvasitem); } } ni = nav.Select(@"/ClassDiagram/Comment"); while (ni.MoveNext()) { NoteCanvasItem note = new NoteCanvasItem(); note.LoadFromXml(ni.Current); AddCanvasItem(note); } }