Я пишу парсер XML и у меня проблема с программой, обрабатывающей ссылку. Я пытаюсь проанализировать настройки / настройки иерархии XML, а затем найти узел «Значение». Ниже приведен пример XML:
<?xml version='1.0' ?>
<Settings xmlns='http://hme.com/Settings.xsd'>
<Setting SID="0">
<Name>Store ID</Name>
<Value>72</Value>
</Setting>
<Setting SID="1">
<Name>Deprecated</Name>
<Value>0</Value>
</Setting>
<Setting SID="8">
<Name>Open Store Hours Sunday</Name>
<Value>25200</Value>
</Setting>
Вот код, который я использую для анализа XML
my $doc = $parser->parse_file($settings_file) or die "Couldn't parse timer settings\n";
#Sunday
for my $reviewer ($doc->findnodes('/Settings/Setting[@SID="8"]')) {
my ($name) = $reviewer->findnodes('Value');
$name->removeChildNodes();
$name->appendText('109800');
}
Когда я удаляю xmlns='http://hme.com/Settings.xsd'
из В файле XML нет проблем с заменой узла значения. Как только я ввожу ссылку обратно в XML, код перестает работать и не обновляет лист xml. Есть ли способ обработать эту ссылку или удалить ее, чтобы я мог правильно обновить файл?