반응형
Xml 문서를 문자열로 변환
현재 XML 문서를 문자열로 변환하는 방법은 다음과 같습니다.
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
이 방법의 문제는 "(내가 속성에 가지고 있는) "(인용)가 있으면 그것들이 빠져나간다는 것입니다.
예:
<Campaign name="ABC">
</Campaign>
위는 예상 XML입니다. 그러나 반환됩니다.
<Campaign name=\"ABC\">
</Campaign>
String 할 수 있어요."\"를 대체하지만 그 방법은 괜찮은가요?부작용이 있습니까?XML 자체에 "\"가 포함되어 있으면 정상적으로 작동합니까?
xmlDoc이 XmlDoc 개체라고 가정하면 xmlDoc에 무슨 문제가 있습니까?OuterXml?
return xmlDoc.OuterXml;
OuterXml 속성은 xml의 문자열 버전을 반환합니다.
인용문이 없습니다.그냥 VS 디버거야.콘솔에 인쇄하거나 파일에 저장해 보십시오.참고로 항상 일회용 물체를 폐기합니다.
using (var stringWriter = new StringWriter())
using (var xmlTextWriter = XmlWriter.Create(stringWriter))
{
xmlDoc.WriteTo(xmlTextWriter);
xmlTextWriter.Flush();
return stringWriter.GetStringBuilder().ToString();
}
사용 중인 경우Windows.Data.Xml.Dom.XmlDocument의 버전XmlDocument(예: UWP 앱에서 사용), 다음을 사용할 수 있습니다.yourXmlDocument.GetXml()XML을 문자열로 가져옵니다.
확장 방법으로:
public static class Extensions
{
public static string AsString(this XmlDocument xmlDoc)
{
using (StringWriter sw = new StringWriter())
{
using (XmlTextWriter tx = new XmlTextWriter(sw))
{
xmlDoc.WriteTo(tx);
string strXmlText = sw.ToString();
return strXmlText;
}
}
}
}
이제 간단하게 사용할 수 있습니다.
yourXmlDoc.AsString()
사용할 수 있습니다.xmlDoc.InnerXml문자열에서 xml을 가져오는 속성
"로 표시됩니다.\"디버거에서는 데이터가 문자열에 정확하므로 아무것도 바꿀 필요가 없습니다.파일에 문자열을 덤프하려고 하면 문자열이 정확하다는 것을 알 수 있습니다.
언급URL : https://stackoverflow.com/questions/2407302/convert-xmldocument-to-string
반응형
'codememo' 카테고리의 다른 글
| CSS에서 방사형 메뉴를 만드는 방법은 무엇입니까? (0) | 2023.08.06 |
|---|---|
| CSC 파일과 관련하여 C#에서 이 오류가 발생하는 이유는 무엇입니까? (0) | 2023.08.06 |
| if($variable)는 정확히 어떻게 작동합니까? (0) | 2023.08.06 |
| 헤더의 공유 c 상수 (0) | 2023.08.06 |
| "pch.h"는 무엇이며 왜 첫 번째 헤더 파일로 포함되어야 합니까? (0) | 2023.08.06 |