Gibt es irgendeine Funktion, die den String von PHP simpleXMLElement erzeugt?SimpleXml to string
Antwort
können Sie die SimpleXMLElement::asXML()
Methode verwenden, um dies zu erreichen:
$string = "<element><child>Hello World</child></element>";
$xml = new SimpleXMLElement($string);
// The entire XML tree as a string:
// "<element><child>Hello World</child></element>"
$xml->asXML();
// Just the child node as a string:
// "<child>Hello World</child>"
$xml->child->asXML();
Sie die asXML
Methode verwenden können, wie:
<?php
// string to SimpleXMLElement
$xml = new SimpleXMLElement($string);
// make any changes.
....
// convert the SimpleXMLElement back to string.
$newString = $xml->asXML();
?>
Eigentlich asXML() den String in XML konvertiert, wie es Name schon sagt:
<id>5</id>
Dies wird normalerweise auf einer Webseite angezeigt, aber es wird Probleme verursachen, wenn Sie Werte mit etwas anderem vergleichen.
Sie können strip_tags-Funktion verwenden, wie realen Wert des Feldes zu erhalten:
$newString = strip_tags($xml->asXML());
PS: Wenn Sie mit ganzen Zahlen oder Gleitkommazahlen arbeiten, müssen Sie es in integer konvertieren mit intval() oder floatval().
$newNumber = intval(strip_tags($xml->asXML()));
Sie können Casting verwenden:
<?php
$string = "<element><child>Hello World</child></element>";
$xml = new SimpleXMLElement($string);
$text = (string)$xml->child;
$ Text wird 'Hallo Welt'
Funktioniert für mich, weil es die Tags nicht setzt, danke – Andrew
Sie können ->child
verwenden, um ein untergeordnetes Element Kind genannt zu bekommen.
Dieses Element enthält den Text des Elements Kind.
Aber wenn Sie versuchen var_dump()
für diese Variable, werden Sie sehen, es ist nicht wirklich eine PHP-Zeichenfolge.
Der einfachste Weg ist strval(xml->child);
Das wird es in eine tatsächliche PHP-Zeichenfolge konvertieren.
Dies ist nützlich beim Debuggen, wenn Sie Ihre XML-Datei loopen und var_dump()
verwenden, um das Ergebnis zu überprüfen.
So $s = strval($xml->child);
.
Hier ist eine Funktion, die ich geschrieben habe, um dieses Problem zu lösen (vorausgesetzt, Tag hat keine Attribute). Diese Funktion wird HTML-Formatierung in dem Knoten behalten:
function getAsXMLContent($xmlElement)
{
$content=$xmlElement->asXML();
$end=strpos($content,'>');
if ($end!==false)
{
$tag=substr($content, 1, $end-1);
return str_replace(array('<'.$tag.'>', '</'.$tag.'>'), '', $content);
}
else
return '';
}
$string = "<element><child>Hello World</child></element>";
$xml = new SimpleXMLElement($string);
echo getAsXMLContent($xml->child); // prints Hello World
Dies ist ein alter Beitrag, aber meine Ergebnisse könnten jemandem helfen.
Wahrscheinlich abhängig von der XML-Feed Sie müssen/müssen möglicherweise nicht __toString(); Ich musste den __toString() verwenden, ansonsten gibt es den String in einem SimpleXMLElement zurück. Vielleicht muss ich das Objekt weiter aufreißen ...
- 1. LINQ-to-JSON- oder String-to-Json
- 2. Lua string to int
- 3. Unicode to string
- 4. DateTime to String Fehler
- 5. Ändern String to Date
- 6. .NET DateTime to String
- 7. JSONResult to String
- 8. C# string [] to int []
- 9. SymbolicExpression - to string
- 10. Add to string wenn string nicht leer
- 11. mit SimpleXML
- 12. SimpleXML Enum Fall-Empfindlichkeit
- 13. R - String to Date Konvertierung
- 14. Convert coordinate string to float
- 15. string to datetime.datetime type format
- 16. Datamapper DateTime to String Verhalten
- 17. typecast string to integer - Postgres
- 18. string to datetime Konvertierung Javascript
- 19. Convert String to date C#
- 20. Ruby String to Date Konvertierung
- 21. String to date Zeitumstellung BigQuery
- 22. mysql String to date Umwandlung
- 23. Struct to string und umgekehrt
- 24. UIImage to base64 String Encoding
- 25. SQL datetime to string format
- 26. simplexml Fehler php Umgang
- 27. PHP SimpleXML Attribute fehlen
- 28. PHP - SimpleXML Parse-Fehler
- 29. ein SimpleXML Objekt in einen String erzwingen, unabhängig vom Kontext
- 30. CodeIgniter Paginierung mit SimpleXML?
Welche Art von String möchten Sie? –