<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 12.10 XML 數據格式 下面是與 12.9 節 JSON 例子等價的 XML 版本: ~~~ <Person> <FirstName>Laura</FirstName> <LastName>Lynn</LastName> </Person> ~~~ 如同 json 包一樣,也有?`Marshal()`?和?`UnMarshal()`?從 XML 中編碼和解碼數據;但這個更通用,可以從文件中讀取和寫入(或者任何實現了 io.Reader 和 io.Writer 接口的類型) 和 JSON 的方式一樣,XML 數據可以序列化為結構,或者從結構反序列化為 XML 數據;這些可以在例子 15.8(twitter_status.go)中看到。 encoding/xml 包實現了一個簡單的 XML 解析器(SAX),用來解析 XML 數據內容。下面的例子說明如何使用解析器: 示例 12.17?[xml.go](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_12/xml.go): ~~~ // xml.go package main import ( "encoding/xml" "fmt" "strings" ) var t, token xml.Token var err error func main() { input := "<Person><FirstName>Laura</FirstName><LastName>Lynn</LastName></Person>" inputReader := strings.NewReader(input) p := xml.NewDecoder(inputReader) for t, err = p.Token(); err == nil; t, err = p.Token() { switch token := t.(type) { case xml.StartElement: name := token.Name.Local fmt.Printf("Token name: %s\n", name) for _, attr := range token.Attr { attrName := attr.Name.Local attrValue := attr.Value fmt.Printf("An attribute is: %s %s\n", attrName, attrValue) // ... } case xml.EndElement: fmt.Println("End of token") case xml.CharData: content := string([]byte(token)) fmt.Printf("This is the content: %v\n", content) // ... default: // ... } } } /* Output: Token name: Person Token name: FirstName This is the content: Laura End of token Token name: LastName This is the content: Lynn End of token End of token */ ~~~ 包中定義了若干 XML 標簽類型:StartElement,Chardata(這是從開始標簽到結束標簽之間的實際文本),EndElement,Comment,Directive 或 ProcInst。 包中同樣定義了一個結構解析器:`NewParser`?方法持有一個 io.Reader(這里具體類型是 strings.NewReader)并生成一個解析器類型的對象。還有一個?`Token()`?方法返回輸入流里的下一個 XML token。在輸入流的結尾處,會返回(nil,io.EOF) XML 文本被循環處理直到?`Token()`?返回一個錯誤,因為已經到達文件尾部,再沒有內容可供處理了。通過一個 type-switch 可以根據一些 XML 標簽進一步處理。Chardata 中的內容只是一個 []byte,通過字符串轉換讓其變得可讀性強一些。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看