2012-10-18 3 views
1

큰 xml 파일이 있는데 xpath를 파싱하여 값을 삽입합니다. 이것은 내가 어떤 값을 삽입하고있어 xml 파일의 일부입니다 : 내가 항상 얻을 수 (예를 들어 <RELATIONSHIP xlink:from="fromValue08" xlink:to="toValue08" />) 같은 속성을하지만 서로 다른 값이 RELATIONSHIP 노드를 더 추가하고자 할 때, 이제XElement에 XAlement를 추가 할 때 중복 오류가 발생했습니다.

<SERVICES> 
    <RELATIONSHIPS> 
     <RELATIONSHIP xlink:from="fromValue01" xlink:to="toValue01" /> 
     <RELATIONSHIP xlink:from="fromValue02" xlink:to="toValue02" /> 
     <RELATIONSHIP xlink:from="fromValue03" xlink:to="toValue03" /> 
     <RELATIONSHIP xlink:from="fromValue04" xlink:to="toValue04" /> 
     <RELATIONSHIP xlink:from="fromValue05" xlink:to="toValue05" /> 
     <RELATIONSHIP xlink:from="fromValue06" xlink:to="toValue06" /> 
     <RELATIONSHIP xlink:from="fromValue07" xlink:to="toValue07" /> 
    </RELATIONSHIPS> 
<SERVICES> 

Duplicate Attribute 오류. 이것은 내가 구문 분석있어 XPath는 예를 다음과 같습니다

/SERVICES/RELATIONSHIPS/RELATIONSHIP[@xlink:from="fromValue08" and @xlink:to="toValue08"] 

이 파서는 여기 붙여 코드의 너무 큰, 나는 만이 그것을 잘 모든 노드를 삽입 이후로는 잘 작동하는지 해요 여기 부분이 나에게 약간의 문제를주고있다. 나는 또한 Altova와 xpath를 확인하고 작동합니다.

제 질문은 XML에 허용되는 동일한 속성이지만 다른 값을 가진 노드를 추가하고 있습니까? 그렇다면 Visual Studio에서 항상이 오류가 발생하는 이유는 무엇입니까?

답변

0

그것은 RELATIONSHIPS

+0

죄송합니다, 내 질문에 잘못 썼습니다 –

+0

아마'@xlink : fromValue' 대신'@xlink : from' – Aelios

+0

이것은 실제 거대한 xpath의 일부일 수도 있습니다. xpath는 Altova XML Spy에서 테스트되었으며 정상적으로 작동합니다. 어쨌든, 질문에, 오해에 대해 미안 해요 –

1

누락에 XPath는 요청과 관련 어쩌면 인덱스에 확인의 나는 그림에게 그것을 갖고있는 것 같다. 파서가 xpath에있는 것처럼 문제가 많지 않았습니다. xpath에 색인이 누락되었습니다. 그래서 내 파서가 처음으로 RELATIONSHIP을 선택했고 실제로 XAttributes가 중복되었습니다. 방금 속성 조건 앞에 색인을 추가했습니다. 그래서 결국이 같은 모습이 올바른 XPath는 구문 인 경우 나도 몰라

/SERVICES/RELATIONSHIPS/RELATIONSHIP[8][@xlink:from="fromValue08" and @xlink:to="toValue08"] 

을하고 인덱스 조건 쫓을해야하지만 경우 내 파서가 일하고있어.

+0

좋은 캐치! ... – Aelios

관련 문제