문제

기존 XML 문자열을 Xlement에 추가하는 방법은 무엇입니까?

이 코드

        var doc = new XDocument(
            new XElement("results", "<result>...</result>")
        );

물론 이것을 생성합니다

  <results>&lt;result&gt;&lt;/result&gt;</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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top