كيفية إضافة سلسلة XML الموجودة في XElement
سؤال
وكيفية إضافة سلسلة XML الموجودة في XElement؟
وهذا الرمز
var doc = new XDocument(
new XElement("results", "<result>...</result>")
);
وبالطبع ينتج هذا
<results><result></result></results>
ولكن انا بحاجة الى هذا
<results><result>...</result></results>
وأي أفكار؟
المحلول
وهذا يجب أن تعمل:
var xmlString = "<result>sometext</result>";
var xDoc = new XDocument(new XElement("results", XElement.Parse(xmlString)));
نصائح أخرى
والجواب من قبل ساني سينغ Huttunen وضعني على الطريق الصحيح، ولكنه يسمح احد فقط <م> نتيجة م> عنصر في نتائج م> العنصر.
var xmlString = "<result>sometext</result><result>alsotext</result>";
وفشل مع System.Xml.XmlException
<اقتباس فقرة>وهناك عناصر جوهرية عديدة.
اقتباس فقرة>وأنا تحل هذه عن طريق تحريك <م> نتائج م> العنصر إلى سلسلة حرفية
var xmlString = "<results><result>sometext</result><result>alsotext</result></results>";
وبحيث سوى عنصر جذر واحد ثم أضاف سلسلة تحليل مباشرة إلى العنصر الأصلي، مثل هذا:
parent.Add(XElement.Parse(xmlString));
وانظر جوابي على هل هناك ما يعادل XElement لXmlWriter.WriteRaw؟
وأساسا، استبدال النائب عن محتوى <م> فقط إذا كنت تعرف انها بالفعل XML صحيح م>.
var d = new XElement(root, XML_PLACEHOLDER);
var s = d.ToString().Replace(XML_PLACEHOLDER, child);
قد يكون هذا الأسلوب أيضا أسرع من تحليل ذلك مع XElement.Parse
.
لا تنتمي إلى StackOverflow