2010-05-21 2 views
5

나는 이것이 막연한 질문으로 끝났다는 것을 알고있다. 나는 어떤 일반적인 방향을 기대하고있다.CXML 문서를 읽고 쓰는 가장 좋은 방법은 무엇입니까?

ASP.NET C# 사이트/응용 프로그램에 cXML punchout을 추가해야합니다. 이것은 ColdFusion에서 몇 년 전에 저술 한 것을 대체하고 있습니다.

저는 합리적으로 숙련 된 C# 개발자이지만 XML을 많이 사용하지는 않았습니다. .NET에서 XML을 처리하기위한 다양한 옵션이 많이있는 것 같습니다.

오픈 끝난 질문입니다. XML 문서를 파일이나 문자열과 같은 형식으로 가지고 있다고 가정 할 때 코드를 코드로 읽는 가장 좋은 방법은 무엇입니까? 데이터를 가져온 다음 데이터베이스 등을 쿼리하려고합니다. cXML 문서 크기와 트래픽 양은 쉽게 작아서 cXML 문서를 메모리에로드하는 것이 문제가되지 않습니다.

해야하는 I :

1) 수동으로 DTD를 기반으로 클래스를 구축하고 XML 시리얼을 사용할 수 있습니까?

2) 도구를 사용하여 클래스를 생성하십시오. Ariba.com에서 다운로드 할 수있는 샘플 cXML 파일이 있습니다. xsd.exe를 생성하여 xsd를 생성 한 다음 xsd.exe/c를 생성하여 클래스를 생성 해 보았습니다. deserialize하려고하면 일부 요소가 단일 값 또는 배열이어야하는지 여부에 "혼란"이있는 것처럼 보이기 때문에 오류가 발생합니다.

CodeXS 온라인 도구를 사용해 보았지만 예제 문서를 deserialize하려고하면 로그와 오류가 발생합니다.

2) 데이터 세트 및 ReadXml()을 만드시겠습니까?

3) 입력 된 데이터 집합과 ReadXml()을 만드시겠습니까?

4) Linq to XML을 사용하십시오. 나는 Linq를 Objects에 자주 사용하므로 Linq에 익숙하지만 일반적으로이 상황에서 나에게 어떤 역할을 하는지를 고민하고있다.

5) 기타 다른 수단.

나는 XML에 대한 전반적인 이해를 향상시킬 필요가 있다고 생각하지만, 그렇다고하더라도 ... 이렇게하는 확실한 방법이 없다. 오래된 ColdFusion 사이트에서 필자는 기본적으로 스키마를 무시하고 XML을 "구조"로 읽는 무료 구성 요소 ("태그")를 발견했습니다.이 구조는 본질적으로 일련의 중첩 된 해시 테이블로서 코드에서 쉽게 읽을 수있었습니다. 아마 꽤 엉뚱한 것이지만 효과가있었습니다.

또한 C# 개체에서 XML 파일을 생성해야합니다. 어쩌면 린크 (Linq)가 XML에 좋을지도 모른다. 기본 "템플릿"문서로 시작하여 저장하기 전에 조작 할 수 있습니다.

어떤 포인터를 주셔서 감사합니다 ...

+0

잘 속는 사람은 아니지만 여기를 살펴보십시오. http://stackoverflow.com/questions/444116/what-are-the-best-functions-practices-and-or-techniques-to-read-write- xml-with –

답변

1

당신이 정확한 형식의 임의의 XML을 생성해야하는 경우, 수동으로 LINQ - 투 - XML을 사용하여 생성해야합니다.

+0

감사합니다. Linq에서 XML로가는 것이 가장 쉬운 방법이었습니다. – tetranz

+0

예; 그것은 보통이다. :) – SLaks

관련 문제