2013-04-19 1 views
0

파일에 새 노드를 추가 할 때마다 XML 파일 내에서 서식을 유지하려고하는데 문제가 있습니다. 나는 기존 파일에 새로운 노드를 추가 할 때마다기존 파일에 추가 할 때 서식없는 XML 노드

<?xml version="1.0" encoding="utf-8"?> 
<Data> 
    <Settings> 
    <DropBoxLocation></DropBoxLocation> 
    <ServerName></ServerName> 
    <DatabaseName></DatabaseName> 
    <Username></Username> 
    <Password></Password> 
    <OnlineFilename></OnlineFilename> 
    <OfflineFilename></OfflineFilename> 
    <EftposFilename></EftposFilename> 
    <BankFilename></BankFilename> 
    <POSFilename></POSFilename> 
    <UnprocessedFilename></UnprocessedFilename> 
    <SalesFilename></SalesFilename> 
    <FileReadDelay></FileReadDelay> 
    </Settings> 
</Data> 

그러나, 나는 다음과 같은 포맷되지 않은 끝낼 : 내가 처음에 처음부터 XML 파일을 작성하는 경우 아래와 같이 예를 들어, 형식이 정확한지 파일의 맨 아래에 항목 :

<?xml version="1.0" encoding="utf-8"?> 
<Data> 
    <Settings> 
    <DropBoxLocation></DropBoxLocation> 
    <ServerName></ServerName> 
    <DatabaseName></DatabaseName> 
    <Username></Username> 
    <Password></Password> 
    <OnlineFilename></OnlineFilename> 
    <OfflineFilename></OfflineFilename> 
    <EftposFilename></EftposFilename> 
    <BankFilename></BankFilename> 
    <POSFilename></POSFilename> 
    <UnprocessedFilename></UnprocessedFilename> 
    <SalesFilename></SalesFilename> 
    <FileReadDelay></FileReadDelay> 
<SEOFilename></SEOFilename><LBossFilename></LBossFilename><ProcessesFilename></ProcessesFilename></Settings> 
</Data> 

새 노드를 추가하는 내 코드는 다음과 같습니다 : I가 파일의 원인을 모르겠어요으로 누군가가 도움을 줄 수있는 경우

Dim MyXML As New XmlDocument() 
Dim MyXMLNode As XmlNode 

     MyXML.PreserveWhitespace = True 

     Try 
      MyXML.Load(SettingsXMLFile) 
      MyXMLNode = MyXML.SelectSingleNode("//Data/Settings/" & ElementName) 
      If Not MyXMLNode Is Nothing Then 
       MyXMLNode.InnerText = ElementValue.ToString 
       MyXML.Save(SettingsXMLFile) 
      Else 
       Dim XMLRoot As XmlElement = MyXML.SelectSingleNode("//Data/Settings") 
       Dim XMLChild As XmlElement = MyXML.CreateElement(ElementName) 
       XMLChild.InnerText = ElementValue 
       XMLRoot.AppendChild(XMLChild) 
       MyXML.Save(SettingsXMLFile) 
      End If 

      MyXMLNode = Nothing 
      MyXML = Nothing 

가 궁금 서식을 삭제하십시오. 미리 감사드립니다.

+0

사람이 어떤 피드가있는 경우 그냥 궁금 이거로 돌아가는거야? – Riples

답변

0

비슷한 문제가있었습니다. 나는 서버에있는 기존의 (잘 구성된) xml 파일을 업데이트하려고했다.

는 아래의 코드 예제는 자바 스크립트 함수 ASP 파일에서 다음

... 
xml = '<?xml version="1.0" encoding="utf-8" ?>'; 
xml += '<root>'; 
xml += '<child_A>Hello World</child_A>'; 
xml += '<child_B>Good World</child_B>'; 
xml += '</root>'; 
... 

에, 나는 나의 기존 XML의 루트 노드에 새로운 XML 노드를 추가하려면 appendChild 메소드를 사용하려고 노력했다. 내 XML 파일에 추가 된 새 노드는 예제와 마찬가지로 형식이 없습니다. 긴 문자열 :(연구와 시험 & 오류의 시간 후

처럼 함께 연결된 모든 ...

내 문제에 대한 해결책은 ...

... 
xml = '<?xml version="1.0" encoding="utf-8" ?>'; 
xml += ' <root>'; 
xml += ' <child_A>Hello World</child_A>'; 
xml += ' <child_B>Good World</child_B>'; 
xml += ' </root>'; 
... 

문자열의 공간을 퍼팅!? ! 어쨌든 파이어 폭스에 나를 위해 작동, 나는 그것뿐만 아니라 IE에서 작동하는지 확인해야합니다.

내가이 도움이되기를 바랍니다.

관련 문제