1
저는 파이썬에서 xml 파일을 구문 분석하기 위해 lxml을 사용하고 있습니다. xml에는 내 코드를 구성하는 용도가 있습니다. 약간 다른 여러 가지 구성을 사용해야하므로 xi:include
기능을 사용하고 있습니다.lxml 및 python : "글로벌"엔티티를 설정하는 방법
"기본"XML 파일에서 일부 항목을 선언하고 포함 된 항목에 대해 알릴 수 있다면 정말 유용 할 것입니다.
main.xml에 :
<?xml version="1.0"?>
<!DOCTYPE doc>
<configuration xmlns:xi="http://www.w3.org/2001/XInclude" name="foo" version="0.1" >
<xi:include href="./external.xml" />
</configuration>
external.xml :
<?xml version="1.0"?>
<!DOCTYPE doc [
<!ENTITY bar "example">
]>
<objects>
<object name="&bar;" />
</objects>
제가하고 싶은 것은 main.xml에 내부의 줄을 선언하는 것입니다 여기 내 작업 예입니다 , 이것을 할 수 있습니까? 사전에 감사합니다, 마테오
나는 좋은 해결책을 생각할 수 없다. external.xml에서 엔티티 선언을 제거하면 포함되지 않습니다. 포함 된 문서는 포함되기 전에 구문 분석되며 확인되지 않은 엔터티 참조는 오류를 생성합니다. – mzjn
안녕하세요 @ mzjn, 의견을 보내 주셔서 감사합니다. 해결 방법을 찾았습니다. 새로운 xml에서 모든 다른 구성을 수집하고 xpointer 기능을 통해 선택하는 가상의 노드를 래핑했습니다. 이것이 일반적인 관심사 일 수 있다면, 여기에 예제를 넣을 수 있습니다. –
문제를 해결 한 해결책이 있다면 답으로 게시해야합니다. – mzjn