1


同じ名前の 2 つのノードを xml ドキュメントに追加することはできますか?
それはそのようなものです:
初期ファイル:

<Files>
  <Filter>
  </Filter>
</Files>

希望のファイル :

<Files>
  <Filter>
    <File RelativePath=".\src\aaa.cxx" ></File>
    <File RelativePath=".\src\bbb.cxx"></File>
  </Filter>
</Files>

Python、dom、または minidom でそれを行いたいと思います。
appendChild 関数を使用しようとしましたが、同じ名前のノードを 1 つだけ保持する場合。
insertBefore 関数を使用しようとしましたが、機能していないようです。

これは私がinsertBeforeで使用したソースコードです(appendChildでは、nbOfFilesコントロールを削除するだけです):

document = xml.dom.minidom.parse (fileTmp)
filesItem = Item.getElementsByTagName("Files")[0]
for filter in filesItem.getElementsByTagName("Filter") :
  filterAttribute      = filter.getAttribute("Filter")
  filePath = os.path.split (fileTmp)[0] + "/src"
  filesInPath = os.listdir (filePath)
  fileElement = document.createElement ("File")
  nbOfFiles = 0
  for file in filesInPath :
    fileElement.setAttribute ("RelativePath", file)
    if nbOfFiles == 0 :
      filter.appendChild (fileElement)
      lastFileElement = fileElement
      nbOfFiles = nbOfFiles + 1
    else :
      filter.insertBefore (fileElement, None)

ご協力いただきありがとうございます。

4

1 に答える 1