我正试图从objective-c中的MediaWiki获取一个人的详细信息。我正在使用http://en.wikipedia.org/w/api.php?action=query&prop=修订&rvprop=内容&rvsection=0&title=阿尔伯特·爱因斯坦&format=xml
我得到的数据如下:
</i>$0 = 0x07562e60 <?xml version="1.0"?><api><query><normalized><n from="Albert_Einstein" to="Albert Einstein" /></normalized><pages><page pageid="736" ns="0" title="Albert Einstein"><revisions><rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">{{Redirect|Einstein}}
{{Good article}}
{{pp-semi|small=yes}}{{pp-move-indef}}
{{Infobox scientist
| name = Albert Einstein
| image = Einstein 1921 by F Schmutzer.jpg
| caption = Albert Einstein in 1921
| birth_date = {{Birth date|df=yes|1879|3|14}}
| birth_place = [[Ulm]], [[Kingdom of Württemberg]], [[German Empire]]
| death_date = {{Death date and age|df=yes|1955|4|18|1879|3|14}}
| death_place = {{nowrap|[[Princeton, New Jersey|Princeton]], [[New Jersey]], U.S.}}
| children = [[Lieserl Einstein|Lieserl]] (1902-1903?)<br />[[Hans Albert Einstein|Hans Albert]] (1904-1973)<br />[[Eduard Einstein|Eduard "Tete"]] (1910-1965)
| spouse = [[Mileva Marić]]&nbsp;(1903–1919)<br />{{nowrap|[[Elsa Löwenthal]]&nbsp;(1919–1936)}}
| residence = Germany, Italy, Switzerland, Austria, Belgium, United States
| citizenship = {{Plainlist|
</i>
现在我想得到目标c中的人的出生日期。不知怎么的,我也能得到出生日期。但我的问题是,是否有任何适当的解析可用于解析这些数据?
这不是办法。将web API与某些客户端库一起使用。更好的是,使用适当的API,即——对于数据问题——Wikidata的。
请参阅wbgetclaims文档和示例:https://www.wikidata.org/w/api.php?action=wbgetclaims&实体=Q937&属性=P569给出
{
"claims": {
"P569": [
{
"id": "q937$2ecb21c3-4db1-54e8-27c4-a8a40541930c",
"mainsnak": {
"snaktype": "value",
"property": "P569",
"datatype": "time",
"datavalue": {
"value": {
"time": "+00000001879-03-14T00:00:00Z",
"timezone": 0,
"before": 0,
"after": 0,
"precision": 11,
"calendarmodel": "http://www.wikidata.org/entity/Q1985727"
},
"type": "time"
}
},
"type": "statement",
"rank": "normal",
"references": [
{
"hash": "d6e3ab4045fb3f3feea77895bc6b27e663fc878a",
"snaks": {
"P143": [
{
"snaktype": "value",
"property": "P143",
"datatype": "wikibase-item",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 206855
},
"type": "wikibase-entityid"
}
}
]
},
"snaks-order": [
"P143"
]
},
{
"hash": "7eb64cf9621d34c54fd4bd040ed4b61a88c4a1a0",
"snaks": {
"P143": [
{
"snaktype": "value",
"property": "P143",
"datatype": "wikibase-item",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 328
},
"type": "wikibase-entityid"
}
}
]
},
"snaks-order": [
"P143"
]
},
{
"hash": "f991bf419530b161a136a5c4e55c49909074ce49",
"snaks": {
"P248": [
{
"snaktype": "value",
"property": "P248",
"datatype": "wikibase-item",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 36578
},
"type": "wikibase-entityid"
}
}
],
"P813": [
{
"snaktype": "value",
"property": "P813",
"datatype": "time",
"datavalue": {
"value": {
"time": "+00000002014-04-09T00:00:00Z",
"timezone": 0,
"before": 0,
"after": 0,
"precision": 11,
"calendarmodel": "http://www.wikidata.org/entity/Q1985727"
},
"type": "time"
}
}
]
},
"snaks-order": [
"P248",
"P813"
]
}
]
}
]
}
}