2017-01-09 5 views

Antwort

1

Sie können XML-Attributwerte nicht als CDATA angeben. Was Sie tun können Sie die xml entkommen können Sie als Wert setzen möchten:

<tag attribute="<b>hi</b>"></tag> 

<tag attribute="&lt;b&gt;hi&lt;/b&gt;"></tag> 

werden wird Wenn Sie ein Dokument bauen und Sie möchten dieses Attribut hinzufügen alle notwendigen tun ist html in XAttribute Konstruktor hinzuzufügen:

var doc = new XDocument(new XElement("tag", new XAttribute("attribute", "<b>hi</b>"))); 

um den Wert als xML-Dokument zu erhalten Sie diesen Code verwenden können:

var doc = XDocument.Parse("<tag attribute=\"&lt;b&gt;hi&lt;/b&gt;\"></tag>"); 
var attributeValue = doc.Root.Attribute("attribute").Value; 

var newDoc = XDocument.Parse(attributeValue); 
+0

danke @Damian, ich weiß über die Flucht von HTML-Tags. Allerdings bezog ich mich auf die XML-Spezifikation in dem Post, wo es scheint, dass Sie keine Tags für ein Attribut entkommen lassen müssen, da es standardmäßig als CDATA behandelt wird. Ich habe mich nur gefragt, ob es einen Weg gibt, XElement dazu zu bringen, das zu erkennen. – Riz

Verwandte Themen