You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询XML多数组标签读取方法及首个TITLE属性引用方式

XML读取问题解答

一、引用第一个TITLE属性

你提供的XML里,第一个TITLE是根节点<PLAYER>下直接子节点<TRACK>的TITLE属性,以下是几种常用语言的实现方式:

Python(使用xml.etree.ElementTree)

import xml.etree.ElementTree as ET

# 解析XML内容(假设xml_content是你的XML字符串)
tree = ET.ElementTree(ET.fromstring(xml_content))
root = tree.getroot()

# 获取第一个TRACK节点的TITLE属性
first_title = root.find('TRACK').attrib['TITLE']
print(first_title)  # 输出: While We're In Love

C#(使用XDocument)

using System.Xml.Linq;

// 加载XML内容
XDocument doc = XDocument.Parse(xmlContent);

// 获取第一个TITLE属性
string firstTitle = doc.Root.Element("TRACK").Attribute("TITLE").Value;
Console.WriteLine(firstTitle); // 输出: While We're In Love

Java(使用DOM解析)

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;

public class XmlReader {
    public static void main(String[] args) throws Exception {
        String xmlContent = "你的XML字符串";
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(new ByteArrayInputStream(xmlContent.getBytes()));
        
        // 获取第一个TRACK节点的TITLE属性
        Element trackElement = (Element) doc.getElementsByTagName("TRACK").item(0);
        String firstTitle = trackElement.getAttribute("TITLE");
        System.out.println(firstTitle); // 输出: While We're In Love
    }
}

二、读取XML中的多个同类型节点(多数组场景)

如果需要读取所有<TRACK>节点(包括<PREVTRACK>下的),可以通过递归查找或遍历所有匹配节点实现:

Python示例

# 递归查找所有层级的TRACK节点
all_tracks = root.findall('.//TRACK')

# 遍历输出每个TRACK的TITLE属性
for track in all_tracks:
    print(track.attrib['TITLE'])
# 输出:
# While We're In Love
# Onderweg

C#示例

// 获取所有层级的TRACK节点
var allTracks = doc.Descendants("TRACK");

foreach (var track in allTracks)
{
    Console.WriteLine(track.Attribute("TITLE").Value);
}
// 输出同上

Java示例

// 获取所有TRACK节点(自动遍历所有层级)
NodeList trackNodes = doc.getElementsByTagName("TRACK");

for (int i = 0; i < trackNodes.getLength(); i++) {
    Element trackElement = (Element) trackNodes.item(i);
    System.out.println(trackElement.getAttribute("TITLE"));
}
// 输出同上

内容的提问来源于stack exchange,提问作者PPFU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:02:54