{"id":7021,"date":"2024-07-21T07:01:01","date_gmt":"2024-07-20T23:01:01","guid":{"rendered":""},"modified":"2024-07-21T07:01:01","modified_gmt":"2024-07-20T23:01:01","slug":"xml\u8003\u8bd5\u9898\u53ca\u7b54\u6848_sql\u6559\u7a0b","status":"publish","type":"post","link":"https:\/\/mushiming.com\/7021.html","title":{"rendered":"xml\u8003\u8bd5\u9898\u53ca\u7b54\u6848_sql\u6559\u7a0b"},"content":{"rendered":"
\n

1.\u754c\u9762\u4ecb\u7ecd<\/h2>\n

\"xml\u8003\u8bd5\u9898\u53ca\u7b54\u6848_sql\u6559\u7a0b<\/p>\n

2.\u7cfb\u7edf\u7ed3\u6784\u4ecb\u7ecd<\/h2>\n

\"xml\u8003\u8bd5\u9898\u53ca\u7b54\u6848_sql\u6559\u7a0b<\/p>\n

\u6211\u628a\u5404\u4e2a\u5305\u4ecb\u7ecd\u4e00\u4e0b<\/strong><\/p>\n

1.exam.xml\u6587\u4ef6\u5c31\u662f\u7528\u6765\u6a21\u62df\u6570\u636e\u5e93\u7684\uff0c\u4ee3\u7801\u5728\u540e\u9762\u8d34\u51fa\u6765<\/strong><\/p>\n

2.dao\u5c42\u65f6\u64cd\u4f5c\u6570\u636e\u5305<\/strong><\/p>\n

3.utils\u662f\u5de5\u5177\u7c7b\u5305<\/strong><\/p>\n

4.bean\u662f\u6570\u636e\u5c01\u88c5\u7c7b\u5305<\/strong><\/p>\n

5.exception\u662f\u81ea\u5b9a\u4e49\u5f02\u5e38\u7c7b\u5305<\/strong><\/p>\n

6.junit\u6d4b\u8bd5\u5305<\/strong><\/p>\n

7.ui\u7528\u6237\u754c\u9762\u5305<\/strong><\/p>\n

3.\u8be6\u7ec6\u4ee3\u7801<\/strong><\/h2>\n

1.exam.xml<\/strong><\/p>\n

\n
 1<\/span> <?<\/span>xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"<\/span>?><\/span><<\/span>exam<\/span>><\/span>  2<\/span> <<\/span>student <\/span>examid<\/span>=\"456\"<\/span> idcard<\/span>=\"123\"<\/span>><\/span>  3<\/span> <<\/span>name<\/span>><\/span>a<\/<\/span>name<\/span>><\/span>  4<\/span> <<\/span>location<\/span>><\/span>b<\/<\/span>location<\/span>><\/span>  5<\/span> <<\/span>grade<\/span>><\/span>22<\/<\/span>grade<\/span>><\/span>  6<\/span> <\/<\/span>student<\/span>><\/span>  7<\/span>  8<\/span> <<\/span>student <\/span>examid<\/span>=\"000\"<\/span> idcard<\/span>=\"789\"<\/span>><\/span>  9<\/span> <<\/span>name<\/span>><\/span>c<\/<\/span>name<\/span>><\/span> 10<\/span> <<\/span>location<\/span>><\/span>d<\/<\/span>location<\/span>><\/span> 11<\/span> <<\/span>grade<\/span>><\/span>20<\/<\/span>grade<\/span>><\/span> 12<\/span> <\/<\/span>student<\/span>><\/span> 13<\/span> 14<\/span> 15<\/span> <\/<\/span>exam<\/span>><\/span><\/pre>\n<\/p><\/div>\n

2.XmlUtils.java<\/strong><\/p>\n

\n
 1<\/span> package<\/span> utils; <\/span> 2<\/span>  3<\/span> import<\/span> java.io.FileOutputStream; <\/span> 4<\/span>  5<\/span> import<\/span> javax.xml.parsers.DocumentBuilder; <\/span> 6<\/span> import<\/span> javax.xml.parsers.DocumentBuilderFactory; <\/span> 7<\/span> import<\/span> javax.xml.transform.Transformer; <\/span> 8<\/span> import<\/span> javax.xml.transform.TransformerFactory; <\/span> 9<\/span> import<\/span> javax.xml.transform.dom.DOMSource; <\/span>10<\/span> import<\/span> javax.xml.transform.stream.StreamResult; <\/span>11<\/span> 12<\/span> import<\/span> org.w3c.dom.Document; <\/span>13<\/span> 14<\/span> \/\/<\/span>\u5de5\u5177\u7c7b\u7684\u6240\u6709\u65b9\u6cd5\u90fd\u662f\u9759\u6001\u7684\uff08\u7ea6\u5b9a\u4fd7\u6210\uff09<\/span> 15<\/span> public<\/span> class<\/span> XmlUtils { <\/span>16<\/span> 17<\/span> private<\/span> static<\/span> String filename = \"src\/exam.xml\"; <\/span>18<\/span> 19<\/span> public<\/span> static<\/span> Document getDocument() throws<\/span> Exception{ <\/span>20<\/span> 21<\/span> DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); <\/span>22<\/span> DocumentBuilder builder = factory.newDocumentBuilder(); <\/span>23<\/span> return<\/span> builder.parse(filename); <\/span>24<\/span> 25<\/span>  } <\/span>26<\/span> 27<\/span> public<\/span> static<\/span> void<\/span> write2Xml(Document document) throws<\/span> Exception{ <\/span>28<\/span> 29<\/span> TransformerFactory factory = TransformerFactory.newInstance(); <\/span>30<\/span> Transformer tf = factory.newTransformer(); <\/span>31<\/span> tf.transform(new<\/span> DOMSource(document), new<\/span> StreamResult(new<\/span> FileOutputStream(filename))); <\/span>32<\/span> 33<\/span>  } <\/span>34<\/span> 35<\/span> }<\/pre>\n<\/p><\/div>\n

getDocument()\u65b9\u6cd5\u7528\u6765\u83b7\u53d6\u6807\u7b7e\u5bf9\u8c61<\/strong><\/p>\n

write2Xml(Document document)\u65b9\u6cd5\u7528\u6765\u66f4\u65b0xml\u6587\u4ef6<\/strong><\/p>\n

3.StudentDao.java<\/strong><\/p>\n

\n
 1<\/span> package<\/span> dao; <\/span> 2<\/span>  3<\/span> import<\/span> org.w3c.dom.Document; <\/span> 4<\/span> import<\/span> org.w3c.dom.Element; <\/span> 5<\/span> import<\/span> org.w3c.dom.NodeList; <\/span> 6<\/span>  7<\/span> import<\/span> bean.Student; <\/span> 8<\/span> import<\/span> exception.StudentNotExistException; <\/span> 9<\/span> import<\/span> utils.XmlUtils; <\/span>10<\/span> 11<\/span> public<\/span> class<\/span> StudentDao { <\/span>12<\/span> 13<\/span> public<\/span> void<\/span> add(Student s){ <\/span>14<\/span> 15<\/span> try<\/span> { <\/span>16<\/span> Document document = XmlUtils.getDocument(); <\/span>17<\/span> 18<\/span> \/\/<\/span>\u521b\u5efa\u51fa\u5c01\u88c5\u5b66\u751f\u7684\u6807\u7b7e<\/span> 19<\/span> Element student_tag = document.createElement(\"student\"); <\/span>20<\/span> student_tag.setAttribute(\"idcard\", s.getIdcard()); <\/span>21<\/span> student_tag.setAttribute(\"examid\", s.getExamid()); <\/span>22<\/span> 23<\/span> \/\/<\/span>\u521b\u5efa\u7528\u4e8e\u5c01\u88c5\u5b66\u751f\u59d3\u540d\uff0c\u6240\u5728\u5730\u548c\u6210\u7ee9\u7684\u6807\u7b7e<\/span> 24<\/span> Element name = document.createElement(\"name\"); <\/span>25<\/span> Element location = document.createElement(\"location\"); <\/span>26<\/span> Element grade = document.createElement(\"grade\"); <\/span>27<\/span>  name.setTextContent(s.getName()); <\/span>28<\/span>  location.setTextContent(s.getIdcard()); <\/span>29<\/span> grade.setTextContent(s.getGrade()+\"\"); <\/span>30<\/span> 31<\/span> \/\/<\/span>\u8bbe\u7f6e\u6807\u7b7e\u4e4b\u95f4\u7684\u5173\u7cfb<\/span> 32<\/span>  student_tag.appendChild(name); <\/span>33<\/span>  student_tag.appendChild(location); <\/span>34<\/span>  student_tag.appendChild(grade); <\/span>35<\/span> 36<\/span> \/\/<\/span>\u628a\u5c01\u88c5\u4fe1\u606f\u7684\u5b66\u751f\u6807\u7b7e\uff0c\u8981\u6302\u5728\u6587\u6863\u4e0a\u9762<\/span> 37<\/span> document.getElementsByTagName(\"exam\").item(0).appendChild(student_tag); <\/span>38<\/span> 39<\/span> \/\/<\/span>\u66f4\u65b0\u5185\u5b58<\/span> 40<\/span>  XmlUtils.write2Xml(document); <\/span>41<\/span> 42<\/span> } catch<\/span> (Exception e) { <\/span>43<\/span> \/\/<\/span>\u628a\u5f02\u5e38\u8fdb\u884c\u8f6c\u578b\uff0c\u628a\u7f16\u8bd1\u65f6\u5f02\u5e38\u8f6c\u5316\u6210\u8fd0\u884c\u65f6\u5f02\u5e38<\/span> 44<\/span> throw<\/span> new<\/span> RuntimeException(e); <\/span>45<\/span>  } <\/span>46<\/span> 47<\/span> 48<\/span>  } <\/span>49<\/span> 50<\/span> public<\/span> Student find(String examid){ <\/span>51<\/span> 52<\/span> try<\/span> { <\/span>53<\/span> Document document = XmlUtils.getDocument(); <\/span>54<\/span> NodeList list = document.getElementsByTagName(\"student\"); <\/span>55<\/span> for<\/span>(int<\/span> i=0; i<list.getLength(); i++){ <\/span>56<\/span> Element student_tag = (Element) list.item(i); <\/span>57<\/span> if<\/span>(student_tag.getAttribute(\"examid\").equals(examid)){ <\/span>58<\/span> \/\/<\/span>\u627e\u5230\u4e0eexamid\u76f8\u5bf9\u5e94\u7684\u5b66\u751f\uff0cnew\u51fa\u4e00\u4e2astudent\u5bf9\u8c61\u5c01\u88c5\u8fd9\u4e2a\u5b66\u751f\u7684\u4fe1\u606f\u8fd4\u56de<\/span> 59<\/span> Student s = new<\/span> Student(); <\/span>60<\/span>  s.setExamid(examid); <\/span>61<\/span> s.setIdcard(student_tag.getAttribute(\"idcard\")); <\/span>62<\/span> s.setName(student_tag.getElementsByTagName(\"name\").item(0).getTextContent()); <\/span>63<\/span> s.setLocation(student_tag.getElementsByTagName(\"location\").item(0).getTextContent()); <\/span>64<\/span> s.setGrade(Double.parseDouble(student_tag.getElementsByTagName(\"grade\").item(0).getTextContent())); <\/span>65<\/span> return<\/span> s; <\/span>66<\/span>  } <\/span>67<\/span>  } <\/span>68<\/span> return<\/span> null<\/span>; <\/span>69<\/span> } catch<\/span> (Exception e) { <\/span>70<\/span> \/\/<\/span> TODO Auto-generated catch block<\/span> 71<\/span> throw<\/span> new<\/span> RuntimeException(e); <\/span>72<\/span>  } <\/span>73<\/span>  } <\/span>74<\/span> 75<\/span> public<\/span> void<\/span> delete(String name) throws<\/span> StudentNotExistException{ <\/span>76<\/span> 77<\/span> try<\/span> { <\/span>78<\/span> Document document = XmlUtils.getDocument(); <\/span>79<\/span> NodeList list = document.getElementsByTagName(\"name\"); <\/span>80<\/span> for<\/span>(int<\/span> i=0; i<list.getLength(); i++){ <\/span>81<\/span> if<\/span>(list.item(i).getTextContent().equals(name)){ <\/span>82<\/span>  list.item(i).getParentNode().getParentNode().removeChild(list.item(i).getParentNode()); <\/span>83<\/span>  XmlUtils.write2Xml(document); <\/span>84<\/span> return<\/span>; <\/span>85<\/span>  } <\/span>86<\/span>  } <\/span>87<\/span> throw<\/span> new<\/span> StudentNotExistException(name + \"\u4e0d\u5b58\u5728\uff01\"); <\/span>88<\/span> }catch<\/span>(StudentNotExistException e){ <\/span>89<\/span> throw<\/span> e; <\/span>90<\/span> }catch<\/span> (Exception e) { <\/span>91<\/span> \/\/<\/span> TODO Auto-generated catch block<\/span> 92<\/span> throw<\/span> new<\/span> RuntimeException(); <\/span>93<\/span>  } <\/span>94<\/span> 95<\/span>  } <\/span>96<\/span> 97<\/span> }<\/pre>\n<\/p><\/div>\n

4.student.java<\/strong><\/p>\n

 <\/p>\n

\n
 1<\/span> package<\/span> bean; <\/span> 2<\/span>  3<\/span> public<\/span> class<\/span> Student { <\/span> 4<\/span>  5<\/span>  @Override <\/span> 6<\/span> public<\/span> String toString() { <\/span> 7<\/span> return<\/span> \"Student [name=\" + name + \", location=\" + location + \", grade=\" + grade + \", idcard=\" + idcard <\/span> 8<\/span> + \", examid=\" + examid + \"]\"; <\/span> 9<\/span>  } <\/span>10<\/span> private<\/span> String name; <\/span>11<\/span> private<\/span> String location; <\/span>12<\/span> private<\/span> double<\/span> grade; <\/span>13<\/span> private<\/span> String idcard; <\/span>14<\/span> private<\/span> String examid; <\/span>15<\/span> 16<\/span> public<\/span> String getName() { <\/span>17<\/span> return<\/span> name; <\/span>18<\/span>  } <\/span>19<\/span> public<\/span> void<\/span> setName(String name) { <\/span>20<\/span> this<\/span>.name = name; <\/span>21<\/span>  } <\/span>22<\/span> public<\/span> String getLocation() { <\/span>23<\/span> return<\/span> location; <\/span>24<\/span>  } <\/span>25<\/span> public<\/span> void<\/span> setLocation(String location) { <\/span>26<\/span> this<\/span>.location = location; <\/span>27<\/span>  } <\/span>28<\/span> public<\/span> double<\/span> getGrade() { <\/span>29<\/span> return<\/span> grade; <\/span>30<\/span>  } <\/span>31<\/span> public<\/span> void<\/span> setGrade(double<\/span> grade) { <\/span>32<\/span> this<\/span>.grade = grade; <\/span>33<\/span>  } <\/span>34<\/span> public<\/span> String getIdcard() { <\/span>35<\/span> return<\/span> idcard; <\/span>36<\/span>  } <\/span>37<\/span> public<\/span> void<\/span> setIdcard(String idcard) { <\/span>38<\/span> this<\/span>.idcard = idcard; <\/span>39<\/span>  } <\/span>40<\/span> public<\/span> String getExamid() { <\/span>41<\/span> return<\/span> examid; <\/span>42<\/span>  } <\/span>43<\/span> public<\/span> void<\/span> setExamid(String examid) { <\/span>44<\/span> this<\/span>.examid = examid; <\/span>45<\/span>  } <\/span>46<\/span> 47<\/span> }<\/pre>\n<\/p><\/div>\n

5.StudentNotExistException.java<\/strong><\/p>\n

\n
 1<\/span> package<\/span> exception; <\/span> 2<\/span>  3<\/span> public<\/span> class<\/span> StudentNotExistException extends<\/span> Exception { <\/span> 4<\/span>  5<\/span> public<\/span> StudentNotExistException() { <\/span> 6<\/span> \/\/<\/span> TODO Auto-generated constructor stub<\/span>  7<\/span>  } <\/span> 8<\/span>  9<\/span> public<\/span> StudentNotExistException(String message) { <\/span>10<\/span> super<\/span>(message); <\/span>11<\/span> \/\/<\/span> TODO Auto-generated constructor stub<\/span> 12<\/span>  } <\/span>13<\/span> 14<\/span> public<\/span> StudentNotExistException(Throwable cause) { <\/span>15<\/span> super<\/span>(cause); <\/span>16<\/span> \/\/<\/span> TODO Auto-generated constructor stub<\/span> 17<\/span>  } <\/span>18<\/span> 19<\/span> public<\/span> StudentNotExistException(String message, Throwable cause) { <\/span>20<\/span> super<\/span>(message, cause); <\/span>21<\/span> \/\/<\/span> TODO Auto-generated constructor stub<\/span> 22<\/span>  } <\/span>23<\/span> 24<\/span> public<\/span> StudentNotExistException(String message, Throwable cause, boolean<\/span> enableSuppression, <\/span>25<\/span> boolean<\/span> writableStackTrace) { <\/span>26<\/span> super<\/span>(message, cause, enableSuppression, writableStackTrace); <\/span>27<\/span> \/\/<\/span> TODO Auto-generated constructor stub<\/span> 28<\/span>  } <\/span>29<\/span> 30<\/span> }<\/pre>\n<\/p><\/div>\n

6.Main.java<\/strong><\/p>\n

\n
 1<\/span> package<\/span> ui; <\/span> 2<\/span>  3<\/span> import<\/span> java.io.BufferedReader; <\/span> 4<\/span> import<\/span> java.io.InputStreamReader; <\/span> 5<\/span>  6<\/span> import<\/span> bean.Student; <\/span> 7<\/span> import<\/span> dao.StudentDao; <\/span> 8<\/span> import<\/span> exception.StudentNotExistException; <\/span> 9<\/span> 10<\/span> public<\/span> class<\/span> Main { <\/span>11<\/span> 12<\/span> public<\/span> static<\/span> void<\/span> main(String[] args) { <\/span>13<\/span> \/\/<\/span> TODO Auto-generated method stub<\/span> 14<\/span> try<\/span>{ <\/span>15<\/span> System.out.println(\"\u6dfb\u52a0\u5b66\u751f\uff1a\uff08a\uff09 \u5220\u9664\u5b66\u751f\uff08b\uff09 \u67e5\u627e\u5b66\u751f\uff08c\uff09 \u9000\u51fa\uff08e\uff09\"); <\/span>16<\/span> System.out.print(\"\u8bf7\u8f93\u5165\u64cd\u4f5c\u7c7b\u578b\uff1a\"); <\/span>17<\/span> BufferedReader br = new<\/span> BufferedReader(new<\/span> InputStreamReader(System.in)); <\/span>18<\/span> String type = br.readLine(); <\/span>19<\/span> \/\/<\/span>switch\u4e0d\u80fd\u7528String<\/span> 20<\/span> if<\/span>(\"a\".equals(type)){ <\/span>21<\/span> 22<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u5b66\u751f\u59d3\u540d\uff1a\"); <\/span>23<\/span> String name = br.readLine(); <\/span>24<\/span> 25<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u5b66\u751f\u51c6\u8003\u8bc1\u53f7\uff1a\"); <\/span>26<\/span> String examid = br.readLine(); <\/span>27<\/span> 28<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u5b66\u751f\u8eab\u4efd\u8bc1\u53f7\uff1a\"); <\/span>29<\/span> String idcard = br.readLine(); <\/span>30<\/span> 31<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u5b66\u751f\u6240\u5728\u5730\uff1a\"); <\/span>32<\/span> String location = br.readLine(); <\/span>33<\/span> 34<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u5b66\u751f\u6210\u7ee9\uff1a\"); <\/span>35<\/span> String grade = br.readLine(); <\/span>36<\/span> 37<\/span> Student s = new<\/span> Student(); <\/span>38<\/span>  s.setExamid(examid); <\/span>39<\/span>  s.setGrade(Double.parseDouble(grade)); <\/span>40<\/span>  s.setIdcard(idcard); <\/span>41<\/span>  s.setName(name); <\/span>42<\/span>  s.setLocation(location); <\/span>43<\/span> 44<\/span> StudentDao dao = new<\/span> StudentDao(); <\/span>45<\/span>  dao.add(s); <\/span>46<\/span> System.out.println(\"\u6dfb\u52a0\u6210\u529f\"); <\/span>47<\/span> 48<\/span> }else<\/span> if<\/span>(\"b\".equals(type)){ <\/span>49<\/span> 50<\/span> System.out.print(\"\u8bf7\u8f93\u5165\u8981\u5220\u9664\u5b66\u751f\u7684\u59d3\u540d\uff1a\"); <\/span>51<\/span> String name = br.readLine(); <\/span>52<\/span> try<\/span>{ <\/span>53<\/span> StudentDao dao = new<\/span> StudentDao(); <\/span>54<\/span>  dao.delete(name); <\/span>55<\/span> System.out.println(\"\u5220\u9664\u6210\u529f\uff01\"); <\/span>56<\/span> }catch<\/span>(StudentNotExistException e){ <\/span>57<\/span> System.out.println(\"\u6b64\u5b66\u751f\u4e0d\u5b58\u5728\uff01\"); <\/span>58<\/span>  } <\/span>59<\/span> 60<\/span> }else<\/span> if<\/span>(\"c\".equals(type)){ <\/span>61<\/span> 62<\/span> System.out.println(\"\u8bf7\u8f93\u5165\u8981\u67e5\u627e\u7528\u6237\u7684\u51c6\u8003\u8bc1\u53f7\"); <\/span>63<\/span> String examid = br.readLine(); <\/span>64<\/span> StudentDao dao = new<\/span> StudentDao(); <\/span>65<\/span> Student s = dao.find(examid); <\/span>66<\/span>  System.out.println(s); <\/span>67<\/span> 68<\/span> }else<\/span> if<\/span>(\"e\".equals(type)){ <\/span>69<\/span> 70<\/span> System.out.println(\"\u9000\u51fa\u6210\u529f\uff01\"); <\/span>71<\/span> return<\/span>; <\/span>72<\/span> 73<\/span> }else<\/span>{ <\/span>74<\/span> System.out.println(\"\u4e0d\u652f\u6301\u4f60\u7684\u64cd\u4f5c\uff01\"); <\/span>75<\/span>  } <\/span>76<\/span> }catch<\/span>(Exception e){ <\/span>77<\/span>  e.printStackTrace(); <\/span>78<\/span> System.out.println(\"\u5bf9\u4e0d\u8d77\uff0c\u51fa\u9519\u8bef\u4e86\"); <\/span>79<\/span>  } <\/span>80<\/span>  } <\/span>81<\/span> 82<\/span> }<\/pre>\n<\/p><\/div>\n

 <\/p>\n<\/div>\n

\u8f6c\u8f7d\u4e8e:https:\/\/www.cnblogs.com\/Vamps0911\/p\/10804546.html<\/p>\n","protected":false},"excerpt":{"rendered":"xml\u8003\u8bd5\u9898\u53ca\u7b54\u6848_sql\u6559\u7a0b1.\u754c\u9762\u4ecb\u7ecd2.\u7cfb\u7edf\u7ed3\u6784\u4ecb\u7ecd\u6211\u628a\u5404\u4e2a\u5305\u4ecb\u7ecd\u4e00\u4e0b1.exam.xml\u6587\u4ef6\u5c31\u662f\u7528\u6765\u6a21\u62df\u6570\u636e\u5e93\u7684\uff0c\u4ee3\u7801\u5728\u540e\u9762\u8d34\u51fa\u6765...","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts\/7021"}],"collection":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/comments?post=7021"}],"version-history":[{"count":0,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/posts\/7021\/revisions"}],"wp:attachment":[{"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/media?parent=7021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/categories?post=7021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mushiming.com\/wp-json\/wp\/v2\/tags?post=7021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}