我正在尝试从 Objective-c 中的 MediaWiki 获取某个人的详细信息。我正在使用http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=Albert_Einstein&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>
现在我想在objective-c中获得该人的生日。不知何故,我也可以设法获得birth_date。但我的问题是,是否可以使用任何正确的解析来解析这些数据?
答案 0 :(得分:2)
这不是方法。将Web API与某些client library一起使用。更好的是,使用正确的 API,即 - 对于数据问题 - 维基数据。
请参阅wbgetclaims docs和示例:https://www.wikidata.org/w/api.php?action=wbgetclaims&entity=Q937&property=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"
]
}
]
}
]
}
}