2009-03-25 4 views
0

태그 안에 공백을 유지할 수 있습니까?태그 안에 "공백"을 유지하십시오.

XPathNodeIterator를 사용하여 XPathDocument에서 XML 노드 (XHTML 콘텐츠 포함)에 액세스하고 있습니다.

노드의 일부 태그는 "엄격한"XHTML이 아니며 도구의 최종 출력에서 ​​허용됩니다. 일부 노드에는 뒤 공백이없는 이미지 태그가 있습니다.

<img src="filename.png" alt="description"/> 

결과 노드를 저장할 때 후미 공백을 사용하여 멋지게 형식화됩니다.

<img src="filename.png" alt="description" /> 

태그 간격을 유지하면서 노드 내용을 얻을 수 있습니까 (이 경우에는 공백이 없음)? PreserveWhitespace와 비슷한 것을 생각하고있었습니다.

코드의 단순화 된 샘플은

xmlDoc = New XPathDocument(fileIn, xmlSpace.Preserve) 
xmlNav = xmlDoc.CreateNavigator() 
Dim xmlNode As XPathNodeIterator 
Dim ns As XmlNamespaceManager = new XmlNamespaceManager(xmlNav.NameTable) 

xmlNode = xmlNav.Select("/export/contents[target[@translate='True']]") 
While xmlNode.MoveNext() 
    target = xmlNode.Current.selectSingleNode("target").InnerXML 
    ' ... ' 
End While 

를 사용하는 몇 가지 배경 : 마크는 지적 태그 내부의 비 상당한 공백과 관련하여 결과 XML의 의미에 차이가 없습니다 (또는 그 문제에 대한 태그 순서).

내가 만나는 주된 문제는 데이터가 새로운 콘텐츠와 기존 콘텐츠를 모두 처리하는 CMS 시스템에서 비롯된다는 것입니다. 컨텐츠 작성 프로세스는 최근에 XML/XHTML로 옮겨 졌기 때문에 여전히 엄격하지 않은 오래된 XHTML 컨텐츠가 시스템에 남아 있습니다.

사용되는 품질 관리 도구는 주로 텍스트 기반이며 HTML 용으로 작성되며 다른 부서에서 실행됩니다 (품질 관리 프로세스를 조정/업데이트해야 함). 이것이 내가 지금 가능한 한 원래의 형식에 가깝게 태그를 유지하고자하는 이유입니다.


는 임시 작업은 주위에 난 검색 및 .NET과 XML을 구문 분석에 의해 도입 된 "차이"를 해결하기 위해 (노드의 새로운 및 이전 버전을 비교) 몇 정규 표현식을 추가로

+0

콘텐츠를 편집하지 않고 xml : 공백을 콘텐츠에 추가하는 것은 실제로 옵션이 아닙니다. – barry

+0

XML 노드에 액세스하고 출력하는 방법을 보여주는 코드 샘플을 보여줄 수 있습니까? – Cerebrus

+0

샘플 코드 – barry

답변

1

나는 파서/xml 도구/etc (.NET에서 최소한)를 인식하지 못한다.이 두 가지 (중요하지 않은 공백)를 구별 할 것이다. 의미의 용어로, 그들은 동일 - 동일는 그대로 동일 행 :

<img alt="description" src="filename.png" /> 
+0

예 최종 결과가 정확히 동일합니다 (최종 XHTML도 동일하게 표시됨). 문제는 간단한 텍스트 비교가 하나의 공간 차이를 보여줍니다. 나는 차이가 없다는 것에 동의하지만 요구 사항은 태그의 간격이 동일해야한다고 말합니다 ... – barry

+0

그렇다면 요구 사항은 XML의 본질을 무시하고 있습니다 ... –

+0

나는 모든면에서 결과와 관련된 위험이 없다는 것을 고객에게 확신시키기 위해 최선을 다하고 있습니다. 그리고 기술적으로는 "깨끗한"콘텐츠로 끝납니다. – barry

0

포스트 프로세스 정규식들과 파일/[]/[>]/[/] [>]/지.

XHTML을 생성하는 경우 < br />을 < br />으로 바꾸면 일부 하위 브라우저가 손상 될 수 있습니다. < br />은 알 수없는 속성 "/"이있는 HTML 태그로 간주되어 무시됩니다. < br />은 알 수없는 HTML 태그 "br /"로 표시됩니다.

+0

감사합니다. 현재 "처리 된"태그와 CMS의 소스를 비교하여 자동 태그 별 태그 비교를 수행하고 필요한 경우 정규식을 사용하여 태그를 "수정"합니다. 타겟은 현재 엄격한 XHTML이 아니므로 브라우저를 사용하기위한 최소한의 요구 사항이 있습니다. 운좋게도 다운 레벨 호환성에 대해 걱정할 필요가 없습니다. – barry

관련 문제