タグ内の空白を保持することはできますか?タグ内に "空白"を残す
私は、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コンテンツが残っています。
使用されるQAツールは、依然として主にテキストベースであり、HTML用に構築され、別の部門によって実行されます(QAプロセスは調整/更新する必要があります)。これは、私ができるだけ元の形式に近いタグを保持したい理由です。
は、一時的な仕事は、私の周りには、検索および.NETでXMLを解析することによって導入された「違い」を修正する(ノードの新しいおよび以前のバージョンとの比較)、いくつかの正規表現を追加したよう
私はむしろ内容を編集しないので、xml:空白をコンテンツに追加することは本当にオプションではありません。 – barry
XMLノードにアクセスして出力する方法を示すコードサンプルを表示できますか? – Cerebrus
サンプルコード – barry