노드 접두사가 있는 XML 문서 생성
XElement를 사용하여 XML 문서를 생성할 때 네임스페이스 접두사를 올바르게 처리하는 것이 중요합니다. 접두사가 있는 요소를 직접 생성하려고 시도하면(예: new XElement("sphinx:docset")) 예외가 발생합니다.
네임스페이스를 사용한 솔루션
LINQ to XML은 이에 대한 우아한 솔루션을 제공합니다.
XNamespace ns = "sphinx"; XElement element = new XElement(ns + "docset");
이 접근 방식은 네임스페이스를 요소 이름을 사용하여 원하는 접두사가 있는지 확인합니다.
접두사 사용자 정의
기존 XML 구조에 맞게 접두사를 사용자 정의할 수도 있습니다.
XNamespace ns = "http://url/for/sphinx"; XElement element = new XElement("container", new XAttribute(XNamespace.Xmlns + "sphinx", ns), new XElement(ns + "docset", new XElement(ns + "schema"), new XElement(ns + "field", new XAttribute("name", "subject")), new XElement(ns + "field", new XAttribute("name", "content")), new XElement(ns + "attr", new XAttribute("name", "published"), new XAttribute("type", "timestamp"))));
이 코드는 제공된 예와 유사한 XML을 생성합니다.
<container xmlns:sphinx="http://url/for/sphinx"> <sphinx:docset> <sphinx:schema /> <sphinx:field name="subject" /> <sphinx:field name="content" /> <sphinx:attr name="published" type="timestamp" /> </sphinx:docset> </container>
위 내용은 XElement를 사용하여 XML 문서를 만들 때 네임스페이스와 접두사를 올바르게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!