OpenSearch 描述文档是声明 Web 搜索服务的 XML 文件,需以 UTF-8 编码,根元素为 ,含 ShortName、Description、Url(含 {searchTerms} 占位符)等必需字段,并通过 HTML 标签声明以便浏览器发现。

基本结构与必需字段
XML 必须以 UTF-8 编码,根元素为 ,并声明命名空间:xmlns="http://a9.com/-/spec/opensearch/1.1/"
必需子元素包括:
- ShortName:≤16 字符的简短名称(如 “MySite Search”)
- Description:≤1024 字符的说明(如 “Search articles on MySite”)
-
Url:含
type和template属性的搜索端点,rel="search"表示默认搜索;支持 {searchTerms} 占位符
Url 元素写法与参数支持
是关键部分,常见写法如下:
- GET 请求(最常用):
- 支持多个参数(用 & 连接):
template="https://example.com/s?k={searchTerms}&lang=zh&format=json" - 支持可选占位符:
{searchTerms}(必填)、{language}、{inputEncoding}、{outputEncoding} - 若需 POST 请求,设
method="post",但多数浏览器仅支持 GET
可选但推荐的增强字段
提升兼容性与体验,建议补充:
本文档主要讲述的是Android的资源与国际化设置;资源是外部文件(不含代码的文件),它被代码使用并在编译时编入应用程序。Android支持不同类型的资源文件,包括XML,PNG以及JPEG文件XML文件根据描述的不同有不同格式。这份文档描述可以支持什么样的文件,语法,以及各种格式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
-
Image:16×16 或 64×64 PNG 或 ICO 图标(用于地址栏显示)
https://example.com/favicon.ico - InputEncoding 和 OutputEncoding:明确声明编码(通常为 UTF-8)
-
Tags:空格分隔的关键词(如
)search site example - Developer、Contact、Attribution:归属信息(非强制)
完整示例(可直接保存为 opensearch.xml)
https://example.com/opensearch.xml),并在网站 HTML 的 中用 声明,浏览器才能自动发现。
不复杂但容易忽略编码声明和 Url template 中的 {searchTerms} 占位符格式。









