Удалить пустую строку из XML-документа - PullRequest
0 голосов
/ 14 декабря 2011

У меня сейчас проблема.Я загружаю XML-файл в C # и удаляю некоторые узлы из него и добавляю некоторые узлы.Теперь проблема в том, что когда я делаю удаление из файла XML, автоматически создаются некоторые пустые строки, поэтому я хочу удалить эти строки.

И когда я добавляю некоторые узлы к родительскому узлу в XML, то яхочу новую строку в каждом конечном теге

Например.Мой XML-файл

<intro id="S0001">
    <title>Introduction Title</title>
     <para>This is a paragraph. Note that paragraphs can contain other block–level objects, such as lists, as well as directly containing text.</para>
     <para>The introduction can contain all of the text objects that a section can contain, except that it cannot be divided into parts, sections and sub–sections.</para>
     <para>The introduction can contain tables:</para>

   </intro><part>
       <no>Part A</no> Article Structure <sup>&lpar;Part Title&rpar;</sup><section1 id="S0002">`enter code here`
     <no>Sect 1</no>
     <title>First Section in Part 1 <sup>&lpar;Section 1 Title&rpar;</sup></title>
     <shortsectionhead>Short Section Header</shortsectionhead>
     <para>This is a section in the first part of the article.</para>
   </section1><section1 id="S0003">

Код:

XmlNode partNnode = xmlDoc.SelectSingleNode("//part");
XmlNode introNode=xmlDoc.SelectSingleNode("//intro");
XmlDocumentFragment newNode=xmlDoc.CreateDocumentFragment();
newNode.InnerXml=partNnode.OuterXml;
introNode.ParentNode.InsertAfter(newNode,introNode);
partNnode.ParentNode.RemoveChild(partNnode);
partNnode = xmlDoc.SelectSingleNode("//part");
nodeList = xmlDoc.SelectNodes("//section1");    

foreach (XmlNode refrangeNode in nodeList)
{
    newNode=xmlDoc.CreateDocumentFragment();
    newNode.InnerXml=refrangeNode.??OuterXml;
    partNnode.AppendChild(newNode);
} 

Пожалуйста, помогите мне Спасибо заранее

1 Ответ

0 голосов
/ 14 декабря 2011

Если вы загружаете и сохраняете файл XMl с помощью C #, то XML должен быть правильно отформатирован (простой способ отформатировать странно выглядящие XML-файлы - просто загрузить и сохранить их с помощью некоторого кода C #).

Если я правильно понимаю ваш вопрос, то вас просто не устраивает формат файла XML?

Как ты хочешь (A):

</intro><part>

Но вы получите (B):

</intro>
<part>

Если это вопрос, то, на мой взгляд, вы просто хотите странную вещь. Потому что ...

а) Код не заботится о том, как форматируется файл XML, и б) правильный формат в (B)

Если вы по какой-либо причине захотите изменить его, то вам придется проанализировать XML-файл, открыть его в виде строки и вручную проверить наличие закрытых и открытых тегов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...