1
XML 문서를 동적으로 표시 할 테이블로 변환 할 수 있습니까? 내 프로그램이 실행되는 동안 XML을 생성하고 XML 문서의 내용을 테이블 형식으로 표시해야합니다. 현재 나는 문서를 통해 xmlreader 구문 분석을 사용하여 정적으로 DataGrid에 넣습니다. 그것을하기위한 더 좋은 방법이 있습니까?XML 문서를 WPF의 테이블로 변환
XML 문서를 동적으로 표시 할 테이블로 변환 할 수 있습니까? 내 프로그램이 실행되는 동안 XML을 생성하고 XML 문서의 내용을 테이블 형식으로 표시해야합니다. 현재 나는 문서를 통해 xmlreader 구문 분석을 사용하여 정적으로 DataGrid에 넣습니다. 그것을하기위한 더 좋은 방법이 있습니까?XML 문서를 WPF의 테이블로 변환
데이터 집합 개체에는 "ReadXml (문자열 파일 이름)"메서드가 있습니다.
예를 들어, XML의 products.xml :
<?xml version="1.0" encoding="utf-8"?>
<Products>
<Product id="1">
<Name>Product Name</Name>
</Product>
<Prodcut id="2">
<Name>Another Product</Name>
</Product>
</Products>
C#을 스 니펫 :이 작동하지만
DataSet myXmlDataSet = new DataSet();
myXmlDataSet.ReadXml("products.xml");
DataTable productTable = myXmlDataSet("Product");
, 나는 보통 POCO의에 내 XML을 얻고 비즈니스의 컬렉션을 사용하여 UI 그리드를 채우는 것을 선호 사물. 데이터 소스가 변경된 경우 (SQL 또는 다른 데이터 소스로 이동 한 경우) 해당 데이터 액세스 구성 요소를 바꿀 수 있습니다. System.Xml.Linq의 XDocument는이를 수행하는 데 매우 편리합니다.
var xmlDoc = XDocument.Load("products.xml");
var productNodes = xmlDoc.Root.Elements("Product");
var prodList = productNodes.Select(prod => new Product()
{
id = int.Parse(prod.Attribute("id").Value),
Name = drug.Element("Name")
})
.ToList();
"정적으로 데이터 그리드에 넣으십시오"는 것은 무엇을 의미합니까? 코드로 작성하면 동적입니다! 어쨌든'System.Windows.Data.XmlDataProvider'를 살펴보십시오. –