XML 파일을 쿼리하기 위해 XPATH 표현 엔진과 함께 아파치 커먼즈 설정 XMLConfiguration 객체를 사용하고 있습니다. 나는 xpath와 아파치 공유지에 익숙하지 않고 문법에 문제가있다. 내가 기본적으로하고 싶은 것은 모든 속성을 통해 공유지 루프이며, 각 라인에서 이름과 발을 읽을아파치 커먼즈 구성을 사용하여 속성이있는 빈 XML 요소 쿼리 xpath
<attrs>
<attr name="my_name" val="the_val"/>
<attr name="my_name2" val="the_val2"/>
</attrs>
: 같은
XML 파일 보인다. 모든 것을 잡으려고 노력할 수있는 유일한 방법은 XML 값을 다시 쿼리하는 것입니다. 이런 종류의 느낌이 틀렸어. 더 좋은 방법이 있을까?
List<String> names = config.getList("attrs/attr/@name");
for(String name : names)
{
String val = config.getString("attrs/attr[@name='" +name +"']/@val");
System.out.println("name:" +name +" VAL:" +val);
}
또한 변환은 문자열에 정상까지, 그 다루는 적절한 방법 확실하지 않다.
노력이'바인드합니다/ATTR /의 값 이름을 가져다 줄까 | // attr/@ val' – RanRag
이것은 두 값을 모두 가지고 있지만 긴 문자열 목록에 모든 이름이 나오고 모든 값이 뒤따라 오도록했습니다. 순서가 맞으면 val_pos = size()/2와 같은 수학을 수행하고 루프를 반복하면서 i + val_pos를 얻습니다. 별로 깨끗하지는 않지만 쿼리를 저장하지는 않습니다. 지금까지 시간 제약으로 인해 명확성을 위해 다시 쿼리하는 방법을 고수하고 있지만 xml 파일을 해당 형식의 공유지로 반복하는 좋은 방법을 환영합니다. –