由Java Spring构建sitemap.xml [英] Build sitemap.xml by Java Spring

查看:344
本文介绍了由Java Spring构建sitemap.xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个由Spring MVC构建的sitemap.xml

I'm building a sitemap.xml by Spring MVC

@XmlRootElement(name = "urlset")
public class XmlUrlSet{
@XmlElements(@XmlElement(name = "url", type = XmlUrl.class))
private List<XmlUrl> sitemap = new ArrayList<XmlUrl>();

public void addUrl(XmlUrl xmlUrl) {
    sitemap.add(xmlUrl);
}

public List<XmlUrl> getXmlUrls() {
    return sitemap;
}
}

它呈现如下:

<urlset>
    <url>
        ...
    </url>
    <url>
        ...
    </url>
</urlset>

我只是想知道如何为xml和xml版本添加名称空间,如Google的站点地图示例?

I just want to know how to add namespace for xml and xml version like Google's sitemap example?

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/foo.html</loc> 
   </url>
</urlset>


推荐答案

我希望您找到解决方案。不过,这个答案可能对某人有帮助。

I hope you might have found your solution. Still, this answer may be helpful to someone.

用<替换 @XmlRootElement(name =urlset) code> @XmlRootElement(name =urlset,namespace =http://www.sitemaps.org/schemas/sitemap/0.9)可以解决您的问题。

Replacing @XmlRootElement(name = "urlset") with @XmlRootElement(name = "urlset", namespace = "http://www.sitemaps.org/schemas/sitemap/0.9") would solve your problem.

更新

如果您尝试过上述解决方案。您将获得如下结果。

If you have tried above solution. You will get the result something like following.

<ns2:urlset xmlns:ns2="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    </url>
</ns2:urlset>

通过在包中添加package-info.java文件解决此问题,其中包含XmlUrlSet类以下内容。

Solve this problem by adding package-info.java file in your package where you have placed XmlUrlSet class with the following content.

@XmlSchema(
    namespace="http://www.something.com/something", 
    elementFormDefault=XmlNsForm.QUALIFIED)
package your.package;

import javax.xml.bind.annotation.*;

它应该可以解决您的问题。

It should solve your problem.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    </url>
</urlset>

这篇关于由Java Spring构建sitemap.xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆