Моя цель состоит в том, чтобы просто обновить узел «lastmod» в простом XML-документе Sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
</url>
</urlset>
Я хочу сделать это как часть моего сценария развертывания ant, поэтому я использую задачу Ant XMLTask .Вот моя цель для муравья:
<target name="update-sitemap" description="update the update date">
<xmltask source="war/sitemap.xml" dest="war/newsitemap.xml" report="true">
<replace path="/urlset/url/lastmod/text()" withText="new text"/>
</xmltask>
</target>
К сожалению, мой xpath не может ничего сопоставить:
[xmltask] TextAction(new text) (/urlset/url/lastmod/text()) failed to match
Я также безуспешно пробовал следующие запросы xpath:
//lastmod/text()
/urlset[@*]/url/lastmod/text()
/urlset[@xmlns]/url/lastmod/text()
Однако я обнаружил, что если я вручную удаляю атрибут namespace из узла urlset в моем исходном файле, все работает нормально.Это ошибка в XMLTask или я что-то не так делаю?