0
내가 저장된 프로 시저를 통해 검색 및 DataTable을에 배치 된 데이터베이스 (SQL 서버 2008 R2)에 저장된 일부 XML 데이터를 가지고있다. DataTable에는 DateTime "타임 스탬프"와 XML "info"의 두 열이 있습니다.
이 데이터를 데이터베이스에서 가져온 후에는 각 행을 반복하고 C#의 LINQ to XML을 사용하여 데이터를 조작하고 싶습니다.
public static void ParseDataTable(DataTable dataTable)
{
for (int r = 0; r < dataTable.Rows.Count; r++)
{
// dataTable.Rows[r]["timestamp"].ToString() holds DateTime
// dataTable.Rows[r]["info"].ToString() holds XML
}
}
내 질문 :
내가 LINQ를 사용할 수있는 객체에이 데이터를 얻을 수있는 가장 간단한 방법은 무엇입니까? 어떤 유형의 물체를 사용해야합니까? 또한
:
- 는 XML이 데이터베이스에 저장됩니다 이유를 물어, 또는 다른 저장 매체를 권장하지 마십시오. 거룩한 전쟁을 시작하려고하지 않습니다.
- xml을 다른 유형 (예 :
CAST([info] AS VARCHAR(MAX))
)으로 반환해야하는 경우 알려 주시기 바랍니다. - 일단 개체를 파싱하려면 LINQ를 사용하고 싶습니다. 다른 메서드를 사용하지 않는 것이 좋습니다.
미리 감사드립니다.
그래서 쉽게 할 수있다! 고맙습니다. 나는 XDocument.Parse()를 우연히 발견하지 못했다. 아주 간단하다. 또한 Jon Skeet 답변으로 연결되는 링크가 항상 좋았습니다. : D –
해당 XML이 전체 문서가 아닌 한'XElement.Parse'를 사용하는 것이 더 좋습니다 - [here] (http://msdn.microsoft.com/en-us/library/bb675196.aspx) 및 [여기] (http://stackoverflow.com/questions/1671542/whats-the-difference-between-xelement-load-and-xdocument-load). –