Ciao, I’m parsing patches’ XML with a patch able to find LINK’s srcnodeid or dstnodeid attributes referring to no longer existing nodes, and to remove their entire element. I’ve succeeded in many ways, using AsXElement (XML) or XPath (XML).
But if the patch contains &cr; I see this in TTY:
00:00:17 ERR : System.Xml.XmlException in System.Xml: Riferimento a entità non dichiarata: "cr". Riga 20, posizione 77.
Stacktrace:
in System.Xml.XmlTextReaderImpl.Throw(Exception e)
in System.Xml.XmlTextReaderImpl.HandleGeneralEntityReference(String name, Boolean isInAttributeValue, Boolean pushFakeEntityIfNullResolver, Int32 entityStartLinePos)
in System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
in System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
in System.Xml.XmlTextReaderImpl.ParseAttributes()
in System.Xml.XmlTextReaderImpl.ParseElement()
in System.Xml.XmlTextReaderImpl.ParseElementContent()
in System.Xml.XmlTextReaderImpl.Read()
in System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
in System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
in System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
in VVVV.Nodes.XML.XMLNodes.AsDocument(String xml, Validation validation)
in VVVV.Nodes.XML.XMLAsElementNode.Evaluate(Int32 spreadMax)
Italian text in English should be reference to undeclared entity: “cr”.
In this case, Prune or GetAttribute or GetElement would return Ø thus making impossible to patch any logic after them.
Is this is a bug? Is there something I can do to prevent this error? Any workaround (beside getting dirty, and heavy, with regexpr)?
Thank you.