LoginSignup
4

More than 3 years have passed since last update.

posted at

updated at

fetchした結果をXMLパースする

MPDを利用するのにXMLパースしたかった
XMLHttpRequestでの仕方はよく記事があったがfetchだと見当たらなかったのでメモ程度ですが共有

fetchのpolyfillを参考にのparseJSONの部分をparseXMLにした例文を用意してみた

function checkStatus(res) {
  if (res.status >= 200 && res.status < 300) {
    return res
  } else {
    const error = new Error(res.statusText);
    error.response = res;
    throw error
  }
}

function parseXML(response) {
  return response.text().then((stringContainingXMLSource) => {
    const parser = new DOMParser();
    return parser.parseFromString(stringContainingXMLSource, "text/xml");
  });

fetch(url)
  .then(checkStatus)
  .then(parseXML)
  .catch((error) => {
    console.log('request failed', error)
  });

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4