Форум для тех, кто программирует под Android
Anonymous
Получение исключения во время выполнения при анализе RSS-канала
Сообщение
Anonymous » 01 май 2024, 22:06
URL-адрес RSS-канала —
https://feeds.simplecast.com/qm_9xx0g
Функция класса модели My View
Код: Выделить всё
fun getXmlRequest(url: String): LiveData {
isLoading.postValue(true)
val liveData = MutableLiveData()
val coreAdXMLService = retrofitXML?.client?.create(CoreAdXmlService::class.java)
coreAdXMLService?.loadNewsResponse(url)?.enqueue(object : Callback {
override fun onFailure(call: Call, t: Throwable) {
isLoading.postValue(false)
liveData.postValue(emptyList())
}
override fun onResponse(call: Call, response: Response) {
val responseBody: NewsFeedResponseModel? = response.body()
responseBody?.channel?.item?.let {
val list = mutableListOf()
it.forEachIndexed { index, it ->
val newsXmlCustomModel = NewsXmlCustomModel()
newsXmlCustomModel.type = ""
newsXmlCustomModel.title = it.title
newsXmlCustomModel.pos = (index % 2).toString()
newsXmlCustomModel.pubDate = it.pubDate
newsXmlCustomModel.link = it.link
newsXmlCustomModel.description = it.description
newsXmlCustomModel.descriptionLink = it.link
val xml = "${it.description}"
val doc: Document? =
try {
DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(InputSource(StringReader(xml)))
} catch (e: java.lang.Exception) {
logReport(e.message)
null
}
val errNodes: NodeList? = doc?.getElementsByTagName("root")
val node: Node? = errNodes?.item(0)
if (node != null) {
if (node.hasChildNodes()) {
val child: Node? = node.firstChild
val value: String? = child?.childNodes?.item(0)?.nodeValue?.let {
it.replace("".toRegex(), "")
} ?: run {
it.description?.replace("".toRegex(), "")
}
newsXmlCustomModel.desc = value
}
} else {
val pattern: Pattern = Pattern.compile("
(.+?)
", Pattern.CASE_INSENSITIVE)
val matcher: Matcher = pattern.matcher(it.description)
matcher.find()
newsXmlCustomModel.desc =
try {
matcher.group(1)
} catch (e: Exception) {
it.description?.replace("".toRegex(), "") ?: ""
}
}
var imageUrl = ""
if (it.description?.contains("
Подробнее здесь: [url]https://stackoverflow.com/questions/78415446/getting-runtime-exception-while-parsing-rss-feed[/url]
1714590402
Anonymous
URL-адрес RSS-канала — https://feeds.simplecast.com/qm_9xx0g Функция класса модели My View [code]fun getXmlRequest(url: String): LiveData { isLoading.postValue(true) val liveData = MutableLiveData() val coreAdXMLService = retrofitXML?.client?.create(CoreAdXmlService::class.java) coreAdXMLService?.loadNewsResponse(url)?.enqueue(object : Callback { override fun onFailure(call: Call, t: Throwable) { isLoading.postValue(false) liveData.postValue(emptyList()) } override fun onResponse(call: Call, response: Response) { val responseBody: NewsFeedResponseModel? = response.body() responseBody?.channel?.item?.let { val list = mutableListOf() it.forEachIndexed { index, it -> val newsXmlCustomModel = NewsXmlCustomModel() newsXmlCustomModel.type = "" newsXmlCustomModel.title = it.title newsXmlCustomModel.pos = (index % 2).toString() newsXmlCustomModel.pubDate = it.pubDate newsXmlCustomModel.link = it.link newsXmlCustomModel.description = it.description newsXmlCustomModel.descriptionLink = it.link val xml = "${it.description}" val doc: Document? = try { DocumentBuilderFactory.newInstance() .newDocumentBuilder() .parse(InputSource(StringReader(xml))) } catch (e: java.lang.Exception) { logReport(e.message) null } val errNodes: NodeList? = doc?.getElementsByTagName("root") val node: Node? = errNodes?.item(0) if (node != null) { if (node.hasChildNodes()) { val child: Node? = node.firstChild val value: String? = child?.childNodes?.item(0)?.nodeValue?.let { it.replace("".toRegex(), "") } ?: run { it.description?.replace("".toRegex(), "") } newsXmlCustomModel.desc = value } } else { val pattern: Pattern = Pattern.compile(" (.+?) ", Pattern.CASE_INSENSITIVE) val matcher: Matcher = pattern.matcher(it.description) matcher.find() newsXmlCustomModel.desc = try { matcher.group(1) } catch (e: Exception) { it.description?.replace("".toRegex(), "") ?: "" } } var imageUrl = "" if (it.description?.contains(" Подробнее здесь: [url]https://stackoverflow.com/questions/78415446/getting-runtime-exception-while-parsing-rss-feed[/url]
Получение миниатюры атрибута из узла из RSS-канала WordPress
Anonymous »
18 дек 2024, 23:56 » в форуме
Php
Я пытался заставить работать этот, казалось бы, простой фрагмент кода.
Я загружаю RSS с сайта WordPress, и все работает нормально, за исключением миниатюр. Поскольку в XML они заданы как атрибут, а не значение узла, я не могу их импортировать.
$rss...
0 Ответы
10 Просмотры
Последнее сообщение Anonymous
18 дек 2024, 23:56
В описании RSS-канала Wordpress есть ссылка на изображение.
Anonymous »
24 мар 2024, 05:20 » в форуме
Php
Похоже, что мой RSS-канал напрямую встраивает ссылку на избранное изображение в описание. Удаление избранного изображения в сообщении приведет к его удалению, но, очевидно, это не решение.
Я отследил стек, но я довольно новичок в PHP/настройке...
0 Ответы
66 Просмотры
Последнее сообщение Anonymous
24 мар 2024, 05:20
0 Ответы
17 Просмотры
Последнее сообщение Anonymous
16 окт 2024, 06:53
0 Ответы
23 Просмотры
Последнее сообщение Anonymous
27 дек 2024, 18:49
0 Ответы
93 Просмотры
Последнее сообщение Anonymous
03 янв 2024, 15:16