2012-05-15 2 views
-1

나는 다음과 같은 XML을 구문 분석 부스트 :: property_tree 객체를 사용 :이 내용을 구문 분석 read_xml()를 호출 할 때read_xml() 던져 예외가

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <node attr="attr_str"/> 
</root> 

, 그것은 잘 작동합니다. 나는 다음과 같이 그 배 ATTR 따옴표 속성을 제거한다면 :

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <node attr=attr_str/> 
</root> 

그것은 xml_parse_error 예외를 throw합니다.

큰 따옴표 검사를 무시하도록 플래그를 설정할 수 있습니까?

+1

'attr' 값을 큰 따옴표로 묶지 않은 문서는 유효한 XML이 아닙니다. 왜 XML 파서가 잘못된 XML을 파싱 할 것으로 기대합니까? – Thanatos

+0

나는 당신의 요지를 안다. 하지만 내 프로젝트에는 이미 이러한 XML 작업이 포함 된 일부 XML 파일이 있으므로 파서를 호환 가능하도록 만들려고합니다. – naive231

답변

0

XML 속성은 인용해야합니다

http://www.w3schools.com/xml/xml_attributes.asp

당신은 그 따옴표를 포함시킬 필요 해요 - 그렇지 않으면 잘못된 마크 업입니다.

+0

링크를 제공해 주셔서 감사합니다. 그것은 흔들린다. – naive231

+0

일반적으로 stackoverflow에서 답변을 수락하므로 커뮤니티에서 이러한 질문/답변을 활용할 수 있습니다.) – sirmdawg

0

XML의 철학 중 콘텐츠 권리를 얻는 책임은 소비자가 아니라 생산자에게 있습니다. 잘못된 XML을 고치는 것보다 올바른 XML을 생성하는 것이 훨씬 쉽고 저렴하기 때문입니다. XML을 작성하는 것보다 훨씬 많은 사람들이 XML을 읽습니다. 품질에 대한 태도를 모르는 사람이 XML (또는 XML이 아닌)으로 엉망이된다면 어려운 문제가 발생하게됩니다.