XML 문서를 처리하고 거기에서 값을 읽습니다. 읽는 가치 중 하나는/안에 있습니다. 값이 표시되는 방식은 M/S John Smith At 4
입니다. 나는 에뮬레이터에 대한 테스트를하고 있었고 올바른 값을 보여주었습니다. 이제 내 Samsung Galaxy S2 device
에 내 애플 리케이션을 배포하고 프로세스가 값을 올바르게 읽고 있지 않습니다. 그 이름의 값 필드에 M이 표시됩니다.장치에서 "/"를 읽을 수 없습니다.
특수 문자이기 때문에 가능하다고 생각하고 있습니다. 값에서 특수 문자를 이스케이프 처리하고 전체 이름을 그대로 읽을 수있는 방법이 있습니까?
추신 : 저는 경험 많은 Java 개발자가 아니므로이 질문은 당신에게 어리석게 들릴지 모르지만 해결책이 있다면 알려주십시오. M/S John Smith At 4
이 기능은 값을 읽 다음 adove 기능에
public static String getCharacterDataFromElement(Element e) {
Node child = e.getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "";
}
, cd.getdata()
그것을 구문 분석 후 XMLDocument로 읽 방법
이있다
난 시계 창에서 요소를 참조 F : 좀 더 디버깅 후 M
을 반환 또는 다른 이름에는 단 하나의 자식 만 있습니다. 하지만 포함 된 요소에는/3 명의 자녀가 있습니다. 그것은 보이는/bcz stringbuffer bcz 슬라이스. 나는 아래 함수를 변경하고 모든 자식 노드를 준비해야하거나 내가 전달하기 전에 거기에서 이스케이프 문자를 사용해야한다고 생각한다.
이것은 흥미로운 문제처럼 들립니다. "M"만 추출하는 코드를 게시 할 수 있습니까? – mfrankli
@mfrankli : 편집을 참조하십시오. – Asdfg
짐작할 수 있듯이 '/'는 특수 문자입니다. /은 '/'의 ascii 값 47을 나타냅니다. 여기의 비틀기는 에뮬레이터에서 작동하지만 장치에서는 작동하지 않는다는 점은 놀랍지 만 좋은 대답은 아닙니다. 최대한 간단히 작동 시키려면 CharacterData – mfrankli