XSD가 있습니다. "element name ="값을 추출하여 Excel 시트에 쓰고 싶습니다. 어떻게해야합니까?XSD에서 요소 이름 값을 추출하고 Excel로 가져옵니다.
내 마음에있는 것들은 bufferedreader/XPATH/jaxb/Apache POI입니다. 그러나 나는 전에 이것들을 사용하지 않았다. 도와주세요!
시료 입력 :
<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gw="XX" xmlns="XXXX" targetNamespace="XXXXX" elementFormDefault="qualified" xmlns:ns0="XXXXXX" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1">
<xsd:annotation>
<xsd:appinfo>
<jaxb:schemaBindings>
<jaxb:package name="XXXXXXXX" />
</jaxb:schemaBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:import namespace="XXXXXXXX" />
<xsd:element name="sample" type="sample" nillable="true" />
<xsd:complexType name="sample">
<xsd:sequence>
<xsd:element name="tempTerms" minOccurs="0" nillable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Input" minOccurs="0" maxOccurs="unbounded" nillable="true" type="ns0:tempTerm" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PatternCode" minOccurs="0" nillable="true" type="xsd:string" gw:type="java.lang.String" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
샘플 출력 :
열 이름은 XLS :
sample
tempTerms
Input
PatternCode
응답 해 주셔서 감사합니다. 당신은 실제로 옳았습니다. 내 ** 실제 ** 작업은 포함 및 가져온 스키마 문서에 요소 이름을 포함시키는 것입니다. 동일한 기법 (XPATH)을 사용할 수 있습니까? 아니면 다른 것을 제안 해 주시겠습니까? JAXB/XSOM의 라인을 따라 뭔가 생각하고있었습니다. 어떤 옵션이 최선인지 확실치 않습니다. – VictorCreator
일반적으로 소스 XSD 문서에서 정보를 얻는 것은 사용자가 동일한 것을 작성할 수있는 여러 가지 방법이 있기 때문에 어렵습니다. 컴파일 된 스키마에 대한 액세스를 제공하는 API를 사용하는 것이 훨씬 더 좋습니다. 예를 들어 Saxon 스키마 프로세서를 사용하면 컴파일 된 스키마를 XML 형식으로 덤프 할 수 있습니다. 나는 여전히 실제 과제의 진짜 문제가 무엇인지 알고 싶다.이 요소 이름을 무엇에 사용할 것인가? –
첫째, 이러한 XSD는 데이터베이스의 데이터를 나타냅니다. 나중에 데이터 전송 작업을 위해 이러한 XSD 각각을 준수하는 여러 XML을 생성합니다. (더 큰 그림입니다) 여기에서는 이러한 엑셀 시트를 메타 데이터 저장에 사용하고자합니다 (데이터 유형, 길이, 설명 등의 정보 제공). 그것의 단지 참조 용. 현재 요소 이름과 포함/가져온 스키마 문서의 요소 이름을 수동으로 복사하여 붙여 넣습니다. 수동으로 요소 복사 및 가져온/링크 된 이름을 붙여 넣을 수있는 프로세스를 최소한 자동화하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 도와주세요 – VictorCreator