다음 검색 엔진을 위해 제출할 URL 목록이 포함 된 사이트 맵 XML이 있습니다. 다른 SO 응답에서이 예제 코드를 가져 왔습니다.이 XML 파일을 PHP XML reader & writer로 업데이트하는 방법은 무엇입니까?
// Init XMLWriter
$writer = new XMLWriter();
$writer->openURI(APPLICATION_PATH . '/sitemap.xml');
// document head
$writer->startDocument('1.0', 'UTF-8');
$writer->setIndent(4);
$writer->startElement('urlset');
$writer->writeAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
// Write something
// this will write: <url><loc>some url here; SO not allowed me</loc></url>
$writer->startElement('url');
$writer->writeElement('loc', 'some url here; SO not allowed me');
$writer->endElement();
// end urlset
$writer->endElement();
// end document
$writer->endDocument();
이 코드는 XML 작성기를 사용하여 새로운 사이트 맵을 만듭니다. 나는 XmlReader를 사용하여 XML 파일을 업데이트하는 방법에 대한 적절한 샘플을 찾을 수 없습니다 XMLReader를
$reader = new XMLReader();
if (!$reader->open('sitemap.xml')){
die("Failed to open 'sitemap.xml'");
}
while($reader->read()){
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'urlset') {
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('url');
$writer->writeElement('loc', 'http://www.test.com');
$writer->endElement();
break;
}
}
$reader->close();
를 사용하여 기존의 urlset에 새로운 URL을 추가하고 싶습니다. XMLreader를 사용하여 URL 세트 태그에 새 URL을 추가하도록이 코드를 다시 작성하려면 어떻게해야합니까?
편집 1 : 나는이 XML 맵이
,
<?xml version="1.0" encoding="UTF-8"?>
<urls>
<url>
<loc>http://www.bbc.com</loc>
</url>
</urls>
나는 프로그램이 예를 들어 같은 URL을 태그에서 하나 개의 새로운 URL을 추가 할. 추가 URL google.com,
<?xml version="1.0" encoding="UTF-8"?>
<urls>
<url>
<loc>http://www.bbc.com</loc>
</url>
<url>
<loc>http://www.google.com</loc>
</url>
</urls>
가 어떻게이 기능을 얻을 수 또는 할 DOMDocument를 또는 SimpleXML을 같은 다른 헬퍼 PHP에서하는 것이 있는가? 다른 사이트에 대한 언급도 환영합니다.
XMLReader를 사용하여 sitemap.xml을 열고 새 url 목록을 만들고 기존 urlset에 추가 한 다음 XML 파일을 저장하고 연결을 닫아야합니다. – webblover
질문을 편집하여 비트를 명확하게 할 수 있습니다. – Flexo
어쩌면 편집을하는 대신 의견을 계속 게시하는 것일 수도 있습니다. – Flexo