반응형
':'문자, 16 진수 값 0x3A는 이름에 포함될 수 없습니다.
다음과 같은 요소를 포함하는 xml 파일이 있습니다.
<ab:test>Str</ab:test>
코드를 사용하여 액세스하려고 할 때 :
XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();
이 오류가 발생합니다.
System.Web.Services.Protocols.SoapException : 서버가 요청을 처리 할 수 없습니다. ---> System.Xml.XmlException : ':'문자, 16 진수 값 0x3A는 이름에 포함될 수 없습니다.
어떻게 액세스해야합니까?
네임 스페이스를 사용하려는 경우 LINQ to XML을 사용하면 정말 간단합니다.
XNamespace ab = "http://whatever-the-url-is";
XElement tempElement = doc.Descendants(ab + "test").FirstOrDefault();
를 찾아 xmlns:ab=...
문서의 섹션 URI "AB"가에 참조하는 네임 스페이스를 찾을 수 있습니다.
다음 과 같이 네임 스페이스를 {
... 에 넣으십시오 }
.
string xfaNamespace = "{http://www.xfa.org/schema/xfa-template/2.6/}";
같은 오류가 발생했습니다. 코드를 추가하고 있음을 발견했습니다 ...
var ab = "http://whatever-the-url-is";
...하지만 ab는 문자열로 결정되었습니다. 이로 인해 OP에서보고 한 오류가 발생했습니다. VAR 키워드를 사용하는 대신 실제 데이터 유형 XNamespace를 사용했습니다.
XNamespace ab = "http://whatever-the-url-is";
... 그리고 문제는 사라졌습니다.
네임 스페이스를 고려하여 시도 할 수있는 Get 메서드의 오버로드가 있습니다. 이 시도:
XElement tempElement = doc.Descendants(XName.Get("test", "ab")).FirstOrDefault();
문서에서 네임 스페이스 가져 오기
var ns = doc.Root.Name.Namespace;
반응형
'IT TIP' 카테고리의 다른 글
이동 중에 변수를 유지하는 방법이 있습니까? (0) | 2020.10.23 |
---|---|
내용을 기반으로 문자열 목록 필터링 (0) | 2020.10.23 |
Map의 keySet () 및 entrySet ()에 대한 성능 고려 사항 (0) | 2020.10.23 |
전체 복사, 얕은 복사, 복제 (0) | 2020.10.23 |
IIS에서 .svc 파일에 액세스 할 때 HTTP 404 (0) | 2020.10.22 |