Я пытаюсь использовать ElementTree для анализа информации из файла .targets из пакета NuGet.
Я пытаюсь найти тег . Чтобы попытаться получить его, я использую следующий код Python:
import xml.etree.ElementTree as ET
tree = ET.parse(targets_file_path)
config_root = tree.getroot()
namespace = config_root.tag.replace("Project", "")
to_find = f"{namespace}AdditionalIncludeDirectories"
include_dirs = config_root.findall(to_find)
include_directory_list = []
for p in include_dirs:
include_directory_list.append(p)
По сути, это первый пример из документации Python. Однако список include_directory_list пуст после выполнения этого фрагмента.
Однако, когда я печатаю каждый отдельный тег, я получаю следующий вывод:
depth = 0
item_list = []
for it in config_root:
item_list.append([depth, it])
while len(item_list) > 0:
d, it = item_list.pop(0)
print(f"depth {d}: {it.tag}")
for subit in it:
item_list.append([d+1, subit])
доходность:
depth 0: {http://schemas.microsoft.com/developer/ ... pertyGroup
depth 0: {http://schemas.microsoft.com/developer/ ... itionGroup
depth 0: {http://schemas.microsoft.com/developer/ ... itionGroup
depth 1: {http://schemas.microsoft.com/developer/ ... }ClCompile
depth 1: {http://schemas.microsoft.com/developer/ ... /2003}Link
depth 1: {http://schemas.microsoft.com/developer/ ... /2003}Link
depth 2: {http://schemas.microsoft.com/developer/ ... irectories
depth 2: {http://schemas.microsoft.com/developer/ ... pendencies
depth 2: {http://schemas.microsoft.com/developer/ ... Directorie
depth 2: {http://schemas.microsoft.com/developer/ ... pendencies
depth 2: {http://schemas.microsoft.com/developer/ ... irectories
Это именно тот результат, который я ожидал. Первый элемент с глубиной = 2 — это тот, который я ищу, и имя, по-видимому, совпадает с тем, которое я ввожу в findall(). Я также попробовал iterfind(), но это также не дало мне правильного результата. Существует также возможность передачи словаря пространства имен, которую я тоже попробовал с тем же результатом.
У меня такое ощущение, что я либо вижу ошибку, либо упускаю что-то очень и очень очевидное.Будем очень признательны за любую помощь!
PS:
XML выглядит так:
$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)
mylib_d.lib;%(AdditionalDependencies)
$(MSBuildThisFileDirectory)native\lib;%(AdditionalLibraryDirectories)
mylib.lib;%(AdditionalDependencies)
$(MSBuildThisFileDirectory)native\lib;%(AdditionalLibraryDirectories)
Подробнее здесь: https://stackoverflow.com/questions/786 ... cified-tag
Анализ файла .targets с помощью ElementTree не находит указанный тег ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Синтаксический анализ Python XML с помощью ElementTree не дает интересующего результата
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-