The Webfeed Flutter package for Appeto SDK.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

41 rader
861 B

  1. import 'dart:core';
  2. import 'package:xml/xml.dart';
  3. XmlElement? findFirstElement(
  4. XmlNode? node,
  5. String name, {
  6. bool recursive = false,
  7. String? namespace,
  8. }) {
  9. try {
  10. return findElements(node, name, recursive: recursive, namespace: namespace)
  11. ?.first;
  12. } on StateError {
  13. return null;
  14. }
  15. }
  16. Iterable<XmlElement>? findElements(
  17. XmlNode? node,
  18. String name, {
  19. bool recursive = false,
  20. String? namespace,
  21. }) {
  22. try {
  23. if (recursive) {
  24. return node?.findAllElements(name, namespace: namespace);
  25. } else {
  26. return node?.findElements(name, namespace: namespace);
  27. }
  28. } on StateError {
  29. return null;
  30. }
  31. }
  32. bool parseBoolLiteral(XmlElement element, String tagName) {
  33. var v = findFirstElement(element, tagName)?.text.toLowerCase().trim();
  34. if (v == null) return false;
  35. return ['yes', 'true'].contains(v);
  36. }