문제

C#에서 XML과 데이터를 변환하는 데 항상 문제가 있는 것 같습니다.그럴 필요가 없다고 생각되는 경우에도 항상 전체 XMLDocument 개체를 생성하기를 원합니다.이 경우에는 MS SQL 2005 서버에 SQLXML 열이 있는데, 이를 꺼내어 XMLNode를 매개변수로 요구하는 함수에 밀어 넣으려고 합니다.이것이 쉬울 것이라고 생각하겠지만, 이를 문자열로 변환하고 새로운 XMLNode 객체를 생성하는 것 외에는 올바른 방법을 알 수 없습니다.

SqlDataReader, sqlComm.ExecuteReader()를 사용하여 판독기를 로드하고 sqlReader.GetSqlXml(0)을 사용하여 SQLXML 개체를 가져올 수 있지만 어떻게 XmlNode로 변환합니까?

반대로 sqlComm.ExecuteXmlReader()를 사용하여 XmlReader를 가져올 수 있지만 판독기에서 XmlNode를 어떻게 추출합니까? http://bytes.com/forum/thread177004.html XmlTextReader로는 할 수 없다고 합니다. XmlNodeReader를 사용해야 합니까?

도와주세요!

도움이 되었습니까?

해결책

결국 사용하지 않게 됐는데, 제가 생각하는 최선의 답을 찾았습니다.기본적으로 XmlReader를 로드하고 판독기에서 XmlDocument를 만든 다음 문서의 노드 목록을 ForEach 문에서 사용할 수 있는 XmnLodeList로 선택합니다.다음은 몇 가지 샘플 코드입니다.

System.Xml.XmlReader sqlXMLReader = sqlComm.ExecuteXmlReader();
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(sqlXMLReader);
System.Xml.XmlNodeList xnlJobs = xmlDoc.SelectNodes("/job");

여전히 지옥처럼 복잡하지만 적어도 xml-string-xml 변환은 없습니다.

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