Java의 XML에서 XPath를 생성/가져오는 방법
소개
이 문서에서는 Java의 XML 문서에서 XPath 표현식을 추출하는 방법에 대한 지침을 제공합니다. . XML 노드를 순회하고, 속성 존재를 확인하고, 이에 따라 XPath 문자열을 생성하는 프로세스를 다룹니다.
목표
우리의 목표는 다음 XML 문서에서 XPath 표현식을 생성하는 것입니다.
<root> <elema>one</elema> <elema attribute1="first" attribute2="second">two</elema> <elemb>three</elemb> <elema>four</elema> <elemc> <elemb>five</elemb> </elemc> </root>
다음 XPath를 얻습니다. 표현식:
//root[1]/elemA[1]='one' //root[1]/elemA[2]='two' //root[1]/elemA[2][@attribute1='first'] //root[1]/elemA[2][@attribute2='second'] //root[1]/elemB[1]='three' //root[1]/elemA[3]='four' //root[1]/elemC[1]/elemB[1]='five'
구현
1. XML 문서 탐색:
JDOM 또는 SAX와 같은 Java XML 구문 분석 라이브러리를 사용하여 XML 노드를 탐색합니다.
2. 속성 존재 확인:
각 노드에 대해 속성이 있는지 확인합니다. 그렇지 않다면 XPath 생성을 진행하세요.
3. 속성이 있는 노드에 대한 XPath 생성:
속성이 있는 노드의 경우 노드와 각 속성 모두에 대한 XPath 표현식을 생성합니다.
4. XPath 표현식 결합:
노드와 속성에 대해 생성된 XPath 표현식을 연결하여 최종 XPath 문자열을 만듭니다. 예:
String xpath = "//root[1]/elemA[1]='" + nodeValue + "'";
5. 특수 사례 처리:
XPath 표현식의 공백이나 작은따옴표로 속성 값을 묶어야 하는 등의 특수 사례를 고려하세요.
예
다음 코드 조각 구현을 보여줍니다. Java:
import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class GenerateXPath { public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException { // Read the XML file File xmlFile = new File("path_to_xml.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(xmlFile); // Traverse the XML nodes NodeList nodes = doc.getElementsByTagName("*"); for (int i = 0; i xpathParts = new ArrayList(); // Append tag name xpathParts.add("/" + node.getNodeName()); // Append position index NodeList siblings = node.getParentNode().getChildNodes(); int position = 1; for (int i = 0; i <h3 id="결론">결론</h3><p>위에 설명된 단계에 따라 Java에서 XML 문서에 대한 XPath 표현식을 프로그래밍 방식으로 생성하여 XML 콘텐츠에서 데이터를 추출하기 위한 자동화된 접근 방식을 제공할 수 있습니다.</p>
위 내용은 Java의 XML 문서에서 XPath 표현식을 프로그래밍 방식으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.

이 기사에서는 분산 응용 프로그램을 구축하기위한 Java의 원격 메소드 호출 (RMI)에 대해 설명합니다. 인터페이스 정의, 구현, 레지스트리 설정 및 클라이언트 측 호출을 자세히 설명하여 네트워크 문제 및 보안과 같은 문제를 해결합니다.

이 기사는 네트워크 통신을위한 Java의 소켓 API, 클라이언트 서버 설정, 데이터 처리 및 리소스 관리, 오류 처리 및 보안과 같은 중요한 고려 사항에 대해 자세히 설명합니다. 또한 성능 최적화 기술, i

이 기사에서는 맞춤형 Java 네트워킹 프로토콜을 작성합니다. 프로토콜 정의 (데이터 구조, 프레임, 오류 처리, 버전화), 구현 (소켓 사용), 데이터 직렬화 및 모범 사례 (효율성, 보안, Mainta를 포함합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!
