반응형
XML 문자열을 XML 문서로
XML 문서 로 변환하고 문서의 태그를 구문 분석해야하는 문자열 에 전체 XML 문서 가 있습니다.
이 코드 샘플은 Jan Slama가 작성한 csharp-examples.net 에서 가져 왔습니다 .
XML 파일에서 노드를 찾으려면 XPath 표현식을 사용할 수 있습니다. XmlNode.SelectNodes 메서드는 XPath 문자열에서 선택한 노드 목록을 반환합니다. 메서드 XmlNode.SelectSingleNode는 XPath 문자열과 일치하는 첫 번째 노드를 찾습니다.
XML :
<Names> <Name> <FirstName>John</FirstName> <LastName>Smith</LastName> </Name> <Name> <FirstName>James</FirstName> <LastName>White</LastName> </Name> </Names>
암호:
XmlDocument xml = new XmlDocument(); xml.LoadXml(myXmlString); // suppose that myXmlString contains "<Names>...</Names>" XmlNodeList xnList = xml.SelectNodes("/Names/Name"); foreach (XmlNode xn in xnList) { string firstName = xn["FirstName"].InnerText; string lastName = xn["LastName"].InnerText; Console.WriteLine("Name: {0} {1}", firstName, lastName); }
System.Xml.Linq에 대한 참조 추가
그리고 사용
XDocument.Parse(string xmlString)
편집 : 샘플 은 xml 데이터 (TestConfig.xml)를 따릅니다.
<?xml version="1.0"?>
<Tests>
<Test TestId="0001" TestType="CMD">
<Name>Convert number to string</Name>
<CommandLine>Examp1.EXE</CommandLine>
<Input>1</Input>
<Output>One</Output>
</Test>
<Test TestId="0002" TestType="CMD">
<Name>Find succeeding characters</Name>
<CommandLine>Examp2.EXE</CommandLine>
<Input>abc</Input>
<Output>def</Output>
</Test>
<Test TestId="0003" TestType="GUI">
<Name>Convert multiple numbers to strings</Name>
<CommandLine>Examp2.EXE /Verbose</CommandLine>
<Input>123</Input>
<Output>One Two Three</Output>
</Test>
<Test TestId="0004" TestType="GUI">
<Name>Find correlated key</Name>
<CommandLine>Examp3.EXE</CommandLine>
<Input>a1</Input>
<Output>b1</Output>
</Test>
<Test TestId="0005" TestType="GUI">
<Name>Count characters</Name>
<CommandLine>FinalExamp.EXE</CommandLine>
<Input>This is a test</Input>
<Output>14</Output>
</Test>
<Test TestId="0006" TestType="GUI">
<Name>Another Test</Name>
<CommandLine>Examp2.EXE</CommandLine>
<Input>Test Input</Input>
<Output>10</Output>
</Test>
</Tests>
C # 사용법 ...
XElement root = XElement.Load("TestConfig.xml");
IEnumerable<XElement> tests =
from el in root.Elements("Test")
where (string)el.Element("CommandLine") == "Examp2.EXE"
select el;
foreach (XElement el in tests)
Console.WriteLine((string)el.Attribute("TestId"));
이 코드는 다음 출력을 생성합니다. 0002 0006
사용하려는 문서 유형에 따라 XmlDocument.LoadXml
또는 XDocument.Load
.
Try this code:
var myXmlDocument = new XmlDocument();
myXmlDocument.LoadXml(theString);
ReferenceURL : https://stackoverflow.com/questions/6402596/xml-string-to-xml-document
반응형
'developer tip' 카테고리의 다른 글
정적 라이브러리가있는 경우 32 비트 또는 64 비트 용인지 알 수있는 간단한 방법이 있습니까? (0) | 2020.12.30 |
---|---|
Google Charts API에서 하드 최소 축 값 설정 (0) | 2020.12.30 |
Django 쿼리 관련 필드 수 (0) | 2020.12.30 |
유형 차이 적용 (0) | 2020.12.30 |
StringBuilder.append 체인이 문자열 연결보다 효율적입니까? (0) | 2020.12.30 |