我试图使用sax解析器在我的xml中获取一些信息,
这是:
def
基本上,我想在xml中使用ident标签(),但是问题是我不想把它们全部拿走,我只想拿第一个标识( show ident)我已经试图通过实现布尔值来标记我们在xml元素中的位置来解决这个问题,但我很困惑如何能够停止在第一个身份。
非常感谢您的关注
答案 0 :(得分:0)
使用从const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushForHelp =
functions.database.ref('/help/school/{id}').onWrite(event => {
const payLoad = {
notification: {
title: 'Someone',
body: 'needs help',
badge: '1',
sound: 'Intruder.mp3'
}
};
return admin.database().ref('fcmToken').once('value').then(allToken => {
if (allToken.val()) {
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token, payLoad).then(response => {
});
};
});
});
派生的类。只要您在org.xml.sax.helpers.DefaultHandler
方法中找到所需元素,就立即抛出SAXException
。这将立即停止SAX解析器。
以下是提供的示例 - Stop a SAX parser when you have enough data
答案 1 :(得分:0)
对于迟到的帖子感到抱歉,对于那些试图解决这个问题的人,除了使用mmit dmitry trifonov方法之外,你们可以在sax中使用Stack方法,你们可以在这里找到sax的堆栈方法文章:http://www.javaworld.com/article/2076202/java-se/mapping-xml-to-java--part-2.html
希望它有所帮助!