반응형
XML 문자열에서 XML 문서로
문자열에 전체 XML 문서가 있으며, 이 문서에서 XML 문서로 변환하고 태그를 구문 분석해야 합니다.
이 코드 샘플은 Jan Slama가 작성한 csharp-examples.net 에서 가져온 것입니다.
XML 파일에서 노드를 찾으려면 XPath 식을 사용할 수 있습니다.메서드 XmlNode.tNodes를 선택하면 XPath 문자열로 선택한 노드 목록이 반환됩니다.메서드 XmlNode.tSingleNode를 선택하여 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); }
링크를 xml에 사용
시스템에 참조를 추가합니다.Xml.Linq
사용.
XDocument.Parse(string xmlString)
편집: 샘플이 다음과 같습니다. xml data(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
원하는 문서 유형에 따라 또는 를 사용할 수 있습니다.
다음 코드를 사용해 보십시오.
var myXmlDocument = new XmlDocument();
myXmlDocument.LoadXml(theString);
언급URL : https://stackoverflow.com/questions/6402596/xml-string-to-xml-document
반응형
'programing' 카테고리의 다른 글
| Android Design Library - 부동 동작 버튼 패딩/마진 이슈 (0) | 2023.10.02 |
|---|---|
| 워드프레스 기능 wp_insert_post 필터링 중지 (0) | 2023.10.02 |
| __builtin_clz 구현 (0) | 2023.10.02 |
| R에서 두 목록 병합 (0) | 2023.10.02 |
| Responsive 메뉴로 신체 스크롤 방지 방법 (0) | 2023.10.02 |