기존 XML 문자열을 Xlement에 추가하는 방법
문제
기존 XML 문자열을 Xlement에 추가하는 방법은 무엇입니까?
이 코드
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)));
다른 팁
Sani Singh Huttunen의 답변은 저를 올바른 길에 올려 놓았지만 하나만 허용합니다. 결과 요소 결과 요소.
var xmlString = "<result>sometext</result><result>alsotext</result>";
System.xml.xmlexection에서 실패합니다
여러 개의 루트 요소가 있습니다.
나는 이것을 움직여서 이것을 해결했다 결과 문자열 문자에 요소
var xmlString = "<results><result>sometext</result><result>alsotext</result></results>";
루트 요소가 하나 뿐인 다음, 구문 분석 된 문자열을 다음과 같이 부모 요소에 직접 추가했습니다.
parent.Add(XElement.Parse(xmlString));
내 대답을 참조하십시오 xmlwriter.writeraw와 동등한 xlement가 있습니까?
본질적으로 콘텐츠의 자리 표시자를 교체하십시오 이미 유효한 XML이라는 것을 알고있는 경우에만.
var d = new XElement(root, XML_PLACEHOLDER);
var s = d.ToString().Replace(XML_PLACEHOLDER, child);
이 방법은 또한 구문 분석하는 것보다 빠를 수 있습니다. XElement.Parse
.
제휴하지 않습니다 StackOverflow